##1. 添加收货地址
##1.3 添加收货地址-持久层
##1.4 添加收货地址-业务层
在service包中,新建IAddressService,定义方法void addAddress(Address address);新建AddressService实现类,实现以上方法@Servicepublic class AddressService implements IAddressService{@Resourceprivate AddressMapper addressMapper;@Resourceprivate DictMapper dictMapper;public void addAddress(Address address){1.设置省市区名称从address中获取省市区的code,调用dictMapper中提供的方法,获取到code对应的name,在把3个name用+连接成新串,把此字符串设置到以下方法中address.setDistrict()2.给isDefault设置值调用selectByUid方法,该方法返回list如果list.size()>0,address的isDefault设置值为0,否则,设置为1//3.addressMapper.insert(address);}}##1.5 添加收货地址-控制器层
请求的url/address/addAddress.do请求参数:9个文本框的值,session(uid)请求方式:POST响应方式:ResponseBody在AddressController 定义方法@@public ResponseResult<Void> addAddress(HttpSession session,@RequestParam("receiverName") String recvName,@RequestParam("receiverState") String recvProvince,@RequestParam("receiverCity") String recvCity,@RequestParam("receiverDistrict") String recvArea,@RequestParam("receiverAddress") String recvAddress,@RequestParam("receiverMobile") String recvPhone,@RequestParam("receiverPhone") String recvTel,@RequestParam("receiverZip") String recvZip,@RequestParam("addressName") String recvTag){1.创建rr对象2.调用业务层方法3.设置rr的状态码和信息4.return rr;}##1.6 添加收货人地址-页面
在js文件夹中的personal.js文件中,35行提交表单,添加异步提交代码,如下:$.ajax({"url":"../address/addAddress.do","data":$("#addressForm").serialize(),"type":"POST","dataType":"json","success":function(obj){alert(obj.state+","+obj.message);$("#receiverName").val("");$("#receiverState").val("");$("#receiverCity").val("");$("#receiverDistrict").val("");$("#receiverAddress").val("");// $("#receiverMobile").val("");$("#addressPhone").val("");$("#addressZip").val("");$("#addressName").val("");//重新初始化省市区列表//getProrvinces(-1,-1,-1);}});#2显示收货人地址
##2.1 显示收货人地址-持久层
##2.2 显示收货人地址-业务层
在IAddressService接口中,定义方法List<Address> getAddressByUid(Integer uid);在AddressService类中实现方法public List<Address> getAddressByUid(Integer uid){返回持久层的方法,list}测试:
##2.3 显示收货地址-控制器层
请求的url/address/getAddressByUid.do请求参数:session(uid)请求方式:GET响应方式:ResponseBody@@public ResponseResult<List<Address>> getAddressByUid(HttpSession session){1.创建rr对象2.调用业务层方法,返回list3.把list设置rr对象中,4.return rr;}##2.4 显示收货人信息-页面function getAllAddress(){$.ajax({"url":"${pageContext.request.contextPath}/address/getAddressByUid.do","data":"","type":"GET","dataType":"json","success":function(obj){var headerVal='<div class="aim_title">'+'<span class="dzmc dzmc_title">地址名称</span><span class="dzxm dzxm_title">姓名</span><span class="dzxq dzxq_title">地址详情</span><span class="lxdh lxdh_title">联系电话</span><span class="operation operation_title">操作</span>'+'</div>';$(".address_information_manage").html(headerVal);for(i= 0;i<obj.data.length;i++){//是默认地址if(obj.data[i].isDefault==1){var str1 = '<div class="aim_content_one aim_active">'+'<span class="dzmc dzmc_active">'+obj.data[i].recvTag+'</span>'+'<span class="dzxm dzxm_normal">'+obj.data[i].recvName+'</span>'+'<span class="dzxq dzxq_normal">'+obj.data[i].recvDistrict+obj.data[i].recvAddress+'</span>'+'<span class="lxdh lxdh_normal">'+obj.data[i].recvPhone+'</span>'+'<span class="operation operation_normal">'+'<span class="aco_change">修改</span>|<span class="aco_delete">删除</span>'+'</span>'+'<span class="swmr swmr_normal"></span>'+'</div>';$(".address_information_manage").append(str1);}else{//非默认地址var str2 = '<div class="aim_content_two">'+'<span class="dzmc dzmc_normal">'+obj.data[i].recvTag+'</span>'+'<span class="dzxm dzxm_normal">'+obj.data[i].recvName+'</span>'+'<span class="dzxq dzxq_normal">'+obj.data[i].recvDistrict+obj.data[i].recvAddress+'</span>'+'<span class="lxdh lxdh_normal">'+obj.data[i].recvPhone+'</span>'+'<span class="operation operation_normal">'+'<span class="aco_change">修改</span>|<span class="aco_delete">删除</span>'+'</span>'+'<span class="swmr swmr_normal">设为默认</span>'+'</div>';$(".address_information_manage").append(str2);}}}});##2.5 显示登录用户收货地址-设为默认###2.5.1 设为默认-持久层
在AddressMapper接口定义2个方法://把登录用户的所有is_default=0Integer setCancel(Integer uid);//把选中is_default=1Intger setDefault(Integer id);在AddressMapper.xml文件中定义2个`update`节点<update id="setCancel">update t_addressset is_default=0whereuid=#{uid}</update><update id="setDefault">update t_addressset is_default=1whereid=#{id}</update>测试###2.5.2 设为默认-业务层
在IAddressService接口中定义方法void setDefault(Integer uid,Integer id);在AddressService类中实现方法public void setDefault(Integer uid,Integer id){1.调用持久层方法setCancel(),如果方法返回0,抛出异常RuntimeException("");2.调用持久层方法setDefault(),如果方法返回0,抛出异常RuntimeException("");}###2.5.3 设为默认-控制器层
###2.5.4 设为默认-页面

ssm-学子商城-项目第七天相关推荐

  1. 基于SSM的商城项目项目源码+实验报告

    基于SSM的商城项目 本项目是今年暑假小学期时完成的,耗时四天时间,在小学期结束项目答辩时,在年级里斩获冠军,在此很感谢我的团队,正是我们各个环节的配合,最终才能够获得如此好的成绩. 目录 基于SSM ...

  2. 商城项目(七)整合RabbitMQ实现延迟消息

    商城项目(七)整合RabbitMQ实现延迟消息 本文主要整合RabbitMQ实现延迟消息的过程,以发送延迟消息取消超时订单为例. 环境配置 RabbitMQ RabbitMQ是一个被广泛使用的开源消息 ...

  3. ssm水果商城项目遇到的问题和解决

    水果商城项目遇到的错误 https://www.bilibili.com/video/BV1EC4y1a7yH/?p=5 第一个问题 b站视频p5 控制台跳转jsp页面500错误 后面发现:是mave ...

  4. SSM购物商城项目开发

    开发环境 : 当前用myeclipse (idea) jdk7 tomcat 8,.5 创建项目 new -- web project --- 记得把web.xml勾上 SSM框架整合配置 添加依赖 ...

  5. jsp+servlet学子商城项目--servlet、dao层的各项练习

    Login的登录项目完成传值,select语句索引 UserDao.java /*** 根据用户名查询* @param name:表示用户名* @return如果用户名存在,封装成对象返回* 否则返回 ...

  6. SSM练手项目:米米商城

    SSM练手项目:米米商城 第一章 登录功能的详细开发步骤 搭建ssm项目的步骤: 1>新建maven工程 2>修改目录,修改pom.xml文件 3>添加ssm项目框架的所有依赖 4& ...

  7. python美多商城项目百度网盘_美多商城项目(七)

    正文共: 7620字 4图 预计阅读时间: 20分钟 每日分享 If you can change your mind, you can change your life. 如果你愿意改变你的想法,你 ...

  8. Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十六(商品排序,Thymeleaf快速入门,商品详情页的展示)

    Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十六(商品详情页的展示) 一.商品排序 1.完善页面信息 这是用来做排序的,默认按照综合排序 ...

  9. Java毕设项目-商城管理系统-基于J2EE/SSM化妆品商城系统的设计与实现

    题目:商城管理系统-基于J2EE/SSM化妆品商城系统的设计与实现 重点作为毕设项目 1.开发环境 语言:Java       Spring+Springmvc+Mybatis[简称SSM] 数据库: ...

  10. JavaEE学习日志(七十三): 黑马商城项目(六)

    JavaEE学习日志持续更新----> 必看!JavaEE学习路线(文章总汇) JavaEE学习日志(七十三) 黑马商城项目(六) 今天任务 在线支付 准备工作 前端 OrdersDao Ord ...

最新文章

  1. 编译原理词/语法分析
  2. 以太网实习_物联网通信硬件入门项目—光纤收发器(1)——实习内容,适用范围,技术及收益...
  3. Microsoft二任CEO业绩对比,说明什么?
  4. php 实现的n,php 实现数据N等分。
  5. #10 Linux硬盘管理
  6. Python的DoS拒绝服务之TCP/SYN洪水攻击
  7. yml配置mysql自动重连_数据库和Doctrine(转载自http://www111cnnet/phper/332/85987htm) - Doctrine...
  8. Django form模块使用心得
  9. /common/nlp/data/dictionary/CoreNatureDictionary.mini.txt加载失败
  10. C#基础知识之读取xlsx文件Excel2007
  11. javascript的getElementByTagName
  12. 凸优化笔记3(大M法)
  13. 锐浪报表数据源access_锐浪报表应用系列三
  14. LM5017原理图PCB设计要点
  15. 虚拟服务器和vdi,桌面虚拟化---SBC和VDI的区别
  16. 声波正演c语言程序,二维频率域声波方程正演模拟
  17. 21天学会Java之(Java SE第十三篇):网络编程、TCP/UDP通信
  18. (1)RIL简析(高通)——RIL如何启动及初始化
  19. html简单留言板教程,JS实现简易留言板(节点操作)
  20. 2021-10-08 2021年起重机司机(限门式起重机)考试题库及起重机司机(限门式起重机)最新解析

热门文章

  1. CSS RESET —— 浏览器样式重置
  2. 美图秀秀扣取签字,证件照换背景
  3. 用美图秀秀换证件照背景颜色
  4. 信贷风控模型搭建及核心风控模式分类
  5. noip2013 day1
  6. python学习手册(1)
  7. python 表白程序代码_程序员如何实现表白代码
  8. codeproject 调试技巧 学习笔记
  9. Java调用cplex求解泊位分配模型_CPLEX约束问题
  10. mse 反编译_专业Delphi反编译工具(DeDeDark)