暑假学习19(8.5 周三)

              在今天的工程学习中,我们实现了用户收货地址的查询与添加,较之前不同的是,此时多加了一个默认地址的设置,一个checkbox来确定选择该项为默认地址,默认地址的设置是通过我们之前的用户表的地址栏来设置的。因为我们要多个地址,所以,为了管理地址方便,我们建了一个用于收货人信息管理的表,其中主键为地址Id,我们用之前用户地址栏作为默认地址的Id,然后通过查询用户表找出其默认地址。当然,其他地址的查询是通过地址表的查询,查询条件是用户Id,这样可以实现用户所有收货人地址的查询。

             在收货人地址管理过程中,我们一直使用的是一个页面address.html。所以,在点击按钮后进入到对应的controller中后要进行判断addressId是否有值,如果没有则进行一个添加操作,反之则进行一个更新操作即修改功能,在修改时,我们需要将对应的收货人信息传值回页面上进行对应的修改操作。注意,在address.html页面,我们加了两个隐藏的input框,用于提供用户ID与收货人的地址ID,这样我们在每次页面跳转之后,都可以实现查询用户的所有收货人地址和判断是否进行添加操作。在这个过程中,存在问题就是下拉列表的值传不到后台。在jsp中可以这样传值,方法如下:

<form:select path="expressId">

<form:options id="expressId" items="${expressList}" itemLabel="label" itemValue="value" />

</form:select>

             这个中的数据源为expressList,并没有使用循环标签,而是使用form:option标签,定义了items为数据源,每一项为item,然后对应的设置了每一项的itemLabel与itemValue的属性,select的名字与options中的id值相同。在下拉列表的使用中,当你提交时浏览器只将value上传服务器,上传到服务器后,你在服务器生没有办法通过获取请求参数的方式来获得text,所以只能在查询表或者提前将对应的value与text存储到页面上再传回后台判断。

<select th:field="*{type}">
  <option th:each="type : ${allTypes}" 
          th:value="${type}" 
          th:text="#{${'seedstarter.type.' + type}}">Wireframe</option>
</select>

              上边的代码是html中的下拉列表的写法,这个还有待验证。

       在首页的商品排序中,运用的方法是链接与th:if标签的灵活使用,商品排序只显示升序与降序一种情况,不能同时显示,通过th:if标签对页面排序按钮的显示情况实现了动态改变,orderTypeId的是用来区分排序以及按什么类型的排序,注意这里使用了th:if标签对选没选中该项都进行了匹配,所以,总会有三个按钮显示在页面上,即默认,人气,价格:

  <a th:href="@{initGoods(commodityTypeId=${goodsForm.commodityTypeId})}" th:class="${orderTypeId}==1?'btn btn-default btn-danger':'btn btn-default'">&nbsp;默&nbsp;认&nbsp;</a>

 <a th:href="@{initGoodsByPopularDesc(commodityTypeId=${goodsForm.commodityTypeId})}" th:class="${orderTypeId}==3?'btn btn-default btn-danger':'btn btn-default'" th:if="${orderTypeId}!=2">&nbsp;人&nbsp;气<i></i>&nbsp;</a>

<a th:href="@{initGoodsByPopular(commodityTypeId=${goodsForm.commodityTypeId})}" th:class="${orderTypeId}==2?'btn btn-default btn-danger':'btn btn-default'" th:if="${orderTypeId}==2">&nbsp;人&nbsp;气<i class="up"></i>&nbsp;</a>

 <a th:href="@{initGoodsByPriceDesc(commodityTypeId=${goodsForm.commodityTypeId})}" th:class="${orderTypeId}==5?'btn btn-default btn-danger':'btn btn-default'" th:if="${orderTypeId}!=4">&nbsp;价&nbsp;格<i></i>&nbsp;</a>

 <a th:href="@{initGoodsByPrice(commodityTypeId=${goodsForm.commodityTypeId})}" th:class="${orderTypeId}==4?'btn btn-default btn-danger':'btn btn-default'" th:if="${orderTypeId}==4">&nbsp;价&nbsp;格<i class="up"></i>&nbsp;</a>

              



转载于:https://my.oschina.net/u/2411765/blog/488446

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值