springmvc学习笔记(21)——CRUD之修改
2015-04-27 23:04
344 查看
CRUD之修改
DAO中加入update方法
显示修改界面
修改input界面
控制层
流程
总结
源码下载
控制层
这段代码和 显示增加界面 的控制层代码十分相似,唯一的区别就是根据学生id得到学生实例,并放入map中。如果你看不懂,可以点击查看springmvc学习笔记(19)——CRUD之增加
引入jstl标签
修改form表单
修改的部分,都已经有了详细的注释,就不再解释了。如果你没看我的前面几篇笔记,可能有理解困能的就是REST了,可以查看springmvc学习笔记(4)——REST
Created with Raphaël 2.1.2学生列表学生列表后端后端修改界面修改界面点击修改根据id回显学生信息修改信息修改成功,重定向到学生列表
rest风格使得url比较美观优雅,使用过滤器将post请求转化为PUT或者DELETE请求。有时候请求路径相同,根据请求方式不同访问不同的目标方法
增加操作中,使用到了modelAttribute属性,因为springmvc默认是要回显表单的,这点值得注意。而且使用form标签,radio单选框等控件并不如struts2的标签那般强大(springmvc略逊一点点),但是在其他方法,springmvc还是比struts2强大得多了。
修改界面和增加界面使用的是同一个界面,所以要注意id是不能被修改的(在我的源码中忽略了这一点)
DAO中加入update方法
显示修改界面
修改input界面
控制层
流程
总结
源码下载
CRUD之修改
DAO中加入update方法
/** * 修改学生信息 * @param student */ public void update(Student student){ students.replace(student.getStudentId(), student); }
显示修改界面
学生列表界面<a href="student/${stu.studentId}">修改</a>
控制层
/** * 修改学生 界面 * @param studentId * @param map * @return */ @RequestMapping("/student/{studentId}") public String Input(@PathVariable("studentId")Integer studentId, Map<String, Object> map){ //将性别的选项放入map中,springmvc的form:radiobuttons标签将自行解析 Map<String, String> sexMap = new HashMap<String, String>(); sexMap.put("男", "男"); sexMap.put("女", "女"); map.put("sex", sexMap); map.put("student", studentDao.getById(studentId)); return "input"; }
这段代码和 显示增加界面 的控制层代码十分相似,唯一的区别就是根据学生id得到学生实例,并放入map中。如果你看不懂,可以点击查看springmvc学习笔记(19)——CRUD之增加
修改input界面
增加界面和修改界面其实用的是同一个界面,原先的增加界面不足以完成修改功能,因此我们对增加界面进行修改引入jstl标签
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
修改form表单
<form:form action="/springmvc01/student" method="POST" modelAttribute="student"> ID:<form:input path="studentId" /><br> 姓名:<form:input path="name" /><br> 性别:<form:radiobuttons path="sex" items="${sex }" /><br> 省份:<form:input path="address.province" /><br> 城市:<form:input path="address.city" /><br> <!-- 如果id为空,那么就是增加学生 --> <c:if test="${empty studentId }"> <input type="submit" value="add" /> </c:if> <!-- 如果id为空,那么就是修改学生 --> <c:if test="${!empty studentId }"> <!-- 增加和修改提交的action路径是一样的, 但是我们使用了REST风格,可以根据_method的值找到不同的目标方法 --> <input type="hidden" name="_method" value="PUT"/> <input type="submit" value="update" /> </c:if> </form:form>
修改的部分,都已经有了详细的注释,就不再解释了。如果你没看我的前面几篇笔记,可能有理解困能的就是REST了,可以查看springmvc学习笔记(4)——REST
控制层
/** * 修改学生信息 * @param student * @return */ @RequestMapping(value="student",method=RequestMethod.PUT) public String Update(Student student){ studentDao.update(student); return "redirect:/student"; }
流程
只看以上的代码,可能有些乱,现在来画个图,可能思路会清晰一点Created with Raphaël 2.1.2学生列表学生列表后端后端修改界面修改界面点击修改根据id回显学生信息修改信息修改成功,重定向到学生列表
总结
CRUD是最基本的操作,在springmvc中,使用到rest风格,以及form标签,主要有以下几个知识点:rest风格使得url比较美观优雅,使用过滤器将post请求转化为PUT或者DELETE请求。有时候请求路径相同,根据请求方式不同访问不同的目标方法
增加操作中,使用到了modelAttribute属性,因为springmvc默认是要回显表单的,这点值得注意。而且使用form标签,radio单选框等控件并不如struts2的标签那般强大(springmvc略逊一点点),但是在其他方法,springmvc还是比struts2强大得多了。
修改界面和增加界面使用的是同一个界面,所以要注意id是不能被修改的(在我的源码中忽略了这一点)
源码下载
到此为止,CRUD全部完成,如有需有源码的,点源码下载相关文章推荐
- springmvc学习笔记(18)——CRUD之查询
- SpringMVC学习笔记-REST风格CRUD
- springmvc学习笔记(19)——CRUD之增加
- springmvc学习笔记(21)-springmvc整合mybatis遇到的问题及解决小结
- springmvc学习笔记(20)——CRUD之删除 & 静态资源处理
- 【SpringMVC整合MyBatis】商品修改功能分析 ---SpringMVC学习笔记(三)
- 【SpringMVC注解开发】validation校验-商品修改校验 ---SpringMVC学习笔记(六)
- SpringMVC 学习笔记(五) 基于RESTful的CRUD
- SpringMVC 学习笔记(五) 基于RESTful的CRUD
- springMVC学习笔记---修改配置文件路径和传递数据
- springmvc学习笔记(10)-springmvc注解开发之商品修改功能
- springmvc学习笔记(21)-springmvc整合mybatis遇到的问题及解决小结
- SpringMVC学习笔记-REST风格CRUD
- SpringMVC 学习笔记(五) 基于RESTful的CRUD
- 21-spring学习-springMVC实现CRUD
- springmvc学习笔记(10)-springmvc注解开发之商品修改功能
- springMVC学习笔记-jsr303使用
- SQL Server学习笔记3:数据库中表的插入、删除、修改、合并
- SMP3.0学习笔记之五 使用OData Native SDK修改数据
- springmvc学习笔记(12)-springmvc注解开发之包装类型参数绑定