springmvc学习笔记(21)——CRUD之修改
来源:互联网 发布:servlet使用json 编辑:程序博客网 时间:2024/06/03 13:13
- CRUD之修改
- 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"; }
流程
只看以上的代码,可能有些乱,现在来画个图,可能思路会清晰一点
总结
CRUD是最基本的操作,在springmvc中,使用到rest风格,以及form标签,主要有以下几个知识点:
- rest风格使得url比较美观优雅,使用过滤器将post请求转化为PUT或者DELETE请求。有时候请求路径相同,根据请求方式不同访问不同的目标方法
- 增加操作中,使用到了modelAttribute属性,因为springmvc默认是要回显表单的,这点值得注意。而且使用form标签,radio单选框等控件并不如struts2的标签那般强大(springmvc略逊一点点),但是在其他方法,springmvc还是比struts2强大得多了。
- 修改界面和增加界面使用的是同一个界面,所以要注意id是不能被修改的(在我的源码中忽略了这一点)
源码下载
到此为止,CRUD全部完成,如有需有源码的,点源码下载
0 0
- springmvc学习笔记(21)——CRUD之修改
- springmvc学习笔记(18)——CRUD之查询
- springmvc学习笔记(19)——CRUD之增加
- springmvc学习笔记(20)——CRUD之删除 & 静态资源处理
- SpringMVC学习笔记-REST风格CRUD
- 学习SpringMVC(十五)之CRUD操作
- Lucene学习笔记之(二)索引文档的CRUD
- SpringMVC 学习笔记(五) 基于RESTful的CRUD
- SpringMVC 学习笔记(五) 基于RESTful的CRUD
- MongoDB学习笔记之文档的CRUD
- springmvc学习笔记(1)——搭建springmvc项目之HelloWorld
- Rails学习笔记(4) ————Model:CRUD
- MyBatis学习笔记二——CRUD操作
- JavaWeb学习笔记——jdbc连接数据库&CRUD
- springmvc学习笔记(31)——springmvc运行流程
- springmvc学习笔记(31)——spring整合springmvc
- MyBatis学习【三】CRUD测试之修改操作
- springmvc学习笔记(10)-springmvc注解开发之商品修改功能
- 安卓开发小练手之手机卫士开发(1)——Splash界面
- Java_语法基础_成员变量的默认值
- 架构设计文档提纲简描
- Matlab 生成 图片的coe文件初始化xilinx rom
- Xcode工程目录的 folder 和 group的区别(蓝色和黄色文件夹的区别)
- springmvc学习笔记(21)——CRUD之修改
- play 1.x框架的配置与使用
- MySQL优化入门
- C# Json 数据包+ POST 传输
- java中的位运算
- 理解Restful架构
- Mysql Perl unload表数据
- 字符串的运算符重载
- MAC OS下使用OpenSSL生成私钥和公钥的方法