发表于: 2020-02-14 21:39:50
1 1148
一,整理需求
- 1.进入商品查询列表页面
- 2.点击修改,进入商品修改页面,页面中显示了要修改的商品。要修改的商品从数据库查询,根据商品id(主键)查询商品信息
- 3.在商品修改页面,修改商品信息,修改后,点击提交
二,开发mapper
mapper:
根据id查询商品信息
根据id更新Items表的数据
不用开发了,使用逆向工程生成的代码。。。
三,开发service
在com.iot.learnssm.firstssm.service.ItemsService中添加两个接口
在com.iot.learnssm.firstssm.service.impl.ItemsServiceImpl中实现接口,
四,开发controller
方法:
商品信息修改页面显示
商品信息修改提交
@RequestMapping
1.url映射
定义controller方法对应的url,进行处理器映射使用。
2窄化请求映射
限制http请求方法
出于安全性考虑,对http的链接进行方法限制。
如果限制请求为post方法,进行get请求,即将上面代码的注解改为@RequestMapping(value="/editItems",method={RequestMethod.POST})
报错,状态码405
五,controller方法的返回值
返回ModelAndView
需要方法结束时,定义ModelAndView,将model和view分别进行设置。
返回string
如果controller方法返回string
1.表示返回逻辑视图名。
真正视图(jsp路径)=前缀+逻辑视图名+后缀
2.redirect重定向
商品修改提交后,重定向到商品查询列表。
redirect重定向特点:浏览器地址栏中的url会变化。修改提交的request数据无法传到重定向的地址。因为重定向后重新进行request(request无法共享)
//重定向到商品查询列表//return "redirect:queryItems.action";
3.forward页面转发
通过forward进行页面转发,浏览器地址栏url不变,request可以共享。
//页面转发return "forward:queryItems.action";
返回void
在controller方法形参上可以定义request和response,使用request或response指定响应结果:
1.使用request转向页面,如下:
request.getRequestDispatcher("页面路径").forward(request, response);
2.也可以通过response页面重定向:
response.sendRedirect("url")
3.也可以通过response指定响应结果,例如响应json数据如下:
response.setCharacterEncoding("utf-8");
response.setContentType("application/json;charset=utf-8");
response.getWriter().write("json串");
明日计划 :抓紧时间 完成任务2
今日问题:这些时都要协助统计和沟通 募捐的支援武汉的事情 有点忙 拖进度
评论