ssm-学子商城-项目第六天

ssm-学子商城-项目第六天

2018年04月18日 09:59:31 achang编程 阅读数:872

地址管理

1.添加地址

1.2 省市区列表

1.2.1 显示省信息

4.页面:把json数据显示到省列表中

 
  1. //显示省列表信息

  2. function getProrvinces(){

  3. $.ajax({

  4. "url":"${pageContext.request.contextPath}/dict/showProvince.do",

  5. "data":"",

  6. "type":"GET",

  7. "dataType":"json",

  8. "success":function(obj){

  9. $("#receiverState").html("---请选择---");

  10. for(i=0;i<obj.data.length;i++){

  11. $("#receiverState").append

  12. ("<option value="+obj.data[i].provinceCode+">"+obj.data[i].provinceName+"</option>");

  13. }

  14. }

  15.  
  16. });

  17. }

1.2.2 显示城市信息

1.持久层 首先在bean中创建City类;在DictMapper接口定义方法

List<City> selectCity(String provinceCode);

在DictMapper.xml映射文件,定义select节点,完成查询城市信息的功能

 
  1. <select id="selectCity" resultType="...">

  2. select

  3. id,

  4. province_code as provinceCode,

  5. city_code as cityCode,

  6. city_name as cityName

  7. from

  8. t_dict_cities

  9. where

  10. province_code = #{provinceCode}

  11. </select>

测试:

2.显示城市信息-业务层 在IDictService接口中定义方法

List<City> getCity(String provinceCode);

在DictService类中实现方法,返回持久层的集合

3.显示城市信息-控制器层 请求的url

 
  1. /dict/showCity.do

  2. 请求参数:provinceCode

  3. 请求方式:GET

  4. 响应方式:ResponseBody

  5.  
  6. @

  7. @

  8. public ResponseResult<List<City>> showCity(String provinceCode){

  9. 1.创建rr对象

  10. 2.调用业务层方法,放回list

  11. 3.把list数据设置到rr对象中

  12. 4.return rr

  13. }

测试:

4.显示城市信息-页面

 
  1. onchange=getCities(this.value);

  2.  
  3. function getCities(provinceCode){

  4. $.ajax({

  5. "url":"${pageContext.request.contextPath}/dict/showCity.do",

  6. "data":"provinceCode="+provinceCode,

  7. "type":"GET",

  8. "dataType":"json",

  9. "success":function(obj){

  10. $("#receiverCity").html("<option>- - - 请选择 - - - </option>");

  11. for(i = 0;i<obj.data.length;i++){

  12. $("#receiverCity").append("<option value="+obj.data[i].cityCode+">"+obj.data[i].cityName+"</option>");

  13. }

  14.  
  15. }

  16.  
  17. });

  18. }

1.2.3 显示区县信息

1.持久层 在bean包中,创建Area类;在DictMapper接口中定义方法

List<Area> selectArea(String cityCode);

在DictMapper.xml中,定select节点

 
  1. <select id="selectArea" resultType="..">

  2. select

  3. xx

  4. from

  5. t_dict_areas

  6. where

  7. city_code = #{cityCode}

  8.  
  9. </select>

2.业务层 在IDictService 接口中定义方法

List<Area> getArea(String cityCode);

在DictService类中实现该方法,返回持久层的集合

3.控制器层

 
  1. /dict/showArea.do

  2. 请求参数:cityCode

  3. 请求方式:GET

  4. 响应方式:ResponseBody

  5.  
  6. @

  7. @

  8. public ResponseResult<List<Area>> showArea(String cityCode){

  9. 1.创建rr对象

  10. 2.调用业务层方法,返回list

  11. 3.把集合设置到rr对象中

  12. 4.return rr;

  13. }

4.页面

 
  1. function getAreas(cityCode){

  2.  
  3. }

省市区函数的调整

 
  1. getProvinces(provinceCode,cityCode,areaCode);

  2.  
  3. getCities(provinceCode,cityCode,areaCode);

  4.  
  5. getAreas(cityCode,areaCode)

  6.  
  7. getProrvinces(-1,-1,-1);

在select中修改函数的参数

 
  1. onchange=getCities(this.value,-1,-1);

  2.  
  3. onchange="getAreas(this.value,-1)

分别在getProvinces()函数的ajax异步提交完成调用 getCities(this.value,-1,-1),getCyties()函数的ajax异步提交完成调用getAreas(this.value,-1)

页面调整:

 
  1. //所有的dd隐藏

  2. $("#leftsidebar_box dd").hide();

  3. //让账号管理显示

  4. $("#leftsidebar_box .address dd").show();

  5. //所有的自定义列表的标题后边的图片 myOrder2.png

  6. $("#leftsidebar_box dt img").attr("src","../images/myOrder/myOrder2.png");

//设置账号管理的图片和其他的三个不相同 $("#leftsidebar_box .address").find('img').attr("src","../images/myOrder/myOrder1.png");

注意: 在DictMapper接口中定义3个方法,获取省市区名字的方法

 
  1. String selectProvinceNameByCode(String provinceCode);

  2.  
  3. String selectCityNameByCode(String cityCode);

  4.  
  5. String selectAreaNameByCode(String areaCode);

在DictMapper.xml中定义3个节点,分别完成查询省市区名字的功能

 
  1. <select id="selectProvinceNameByCode" resultType="java.lang.String">

  2.  
  3. select

  4. province_name as provinceName

  5. from

  6. t_dict_provinces

  7. where

  8. province_code=#{provinceCode}

  9.  
  10. </select>

测试:

城市和区县的select语句同上

1.3 添加地址-持久层

给taddress添加isdefault;添加列的语句:alter table taddress add isdefault int(1);

首先在bean包创建Address类;然后在mapper 包中创建AddressMapper接口,在接口定义方法:

void insert(Address address);

新建AddressMapper.xml文件(拷贝*.xml文件,改名) 定义insert节点,插入地址信息

 
  1. <insert id="insert" parameterType="...">

  2. insert into t_address(

  3. id,uid,recv_name,

  4. recv_province,

  5. recv_city,recv_area,

  6. recv_district,

  7. recv_address,recv_phone,

  8. recv_tel,recv_zip,

  9. recv_tag,is_default,

  10. created_user,created_time,

  11. modified_user,modified_time

  12. ) values(

  13. #{id},#{uid},#{recvName},

  14. #{recvProvince},

  15. #{recvCity},#{recvArea},

  16. #{recvDistrict},

  17. #{recvAddress},#{recvPhone},

  18. #{recvTel},#{recv_zip},

  19. #{recvTag},#{isDefault},

  20. #{createdUser},#{createdTime},

  21. #{modifiedUser},#{modifiedTime}

  22. )

  23. </insert>

  24.  

测试:

".."> select id,uid,recv_name as recvName, recv_province as recvProvince, recv_city as recvCity, recv_area as recvArea, recv_district as recvDistrict, recv_address as recvAddress, recv_phone as recvPhone, recv_tel as recvTel, recv_zip as recvZip, recv_tag as recvTag, is_default as isDefault, created_user as createdUser, created_time as createdTime, modified_user as modifiedUser, modified_time as modieidTime from t_address where uid=#{uid} </select>

测试:

1.4 添加收货地址-业务层

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值