按下 修改数据之后
修改功能实现-转向修改页面
2)控制层实现准备数据,并转向修改页面 ~ PersonController.java
1 package cn.itcast.springmvc.controller; 2 3 @Controller 4 @RequestMapping(value={"/person"}) 5 public class PersonController { 6 7 8 @RequestMapping(value={"/toupdate"},method={RequestMethod.GET}) 9 public String toupdate( Integer id, Model model){ 10 11 Person p = ps.getPerson(id); 12 model.addAttribute("person",p); 13 return "jPersonUpdate"; 14 }
3)列表页面增加修改功能入口 ~ jPersonList.jsp
1 <table border="1" width="500"> 2 <tr> 3 <td>id</td><td>name</td><td>age</td><td>【修改】</td> 4 </tr> 5 <c:forEach items="${personList}" var="p"> 6 <tr> 7 <td>${p.id}</td> 8 <td>${p.name}</td> 9 <td>${p.age}</td> 10 <td><a href="${pageContext.request.contextPath}/person/toupdate.action?id=${p.id}}">修改</a></td> 11 </tr> 12 </c:forEach> 13 </table>
4)修改页面 ~ jPersonUpdate.jsp
1 <%@ page language="java" contentType="text/html; charset=utf-8"%> 2 <%@ taglib uri="http://www.springframework.org/tags/form" prefix="sf" %> 3 <sf:form action="saveOrUpdate.action" method="post" modelAttribute="person"> <!-- 与代码中相对应person --> 4 <sf:hidden path="id"/> 5 <table border="1"> 6 <tr> 7 <td>name</td> 8 <td><sf:input path="name"/></td> 9 </tr> 10 <tr> 11 <td>age</td> 12 <td><sf:input path="age"/></td> 13 </tr> 14 <tr> 15 <td><input type="submit"/></td> 16 </tr> 17 </table> 18 </sf:form>
技术要点:如不使用sf标签,如何获取值?
1 技术要点:如不使用sf标签,如何获取值? 原始request的做法 2 3 PersonController.java 4 5 @RequestMapping(value={"/toupdate"}) 6 public String toupdate(Integer id, HttpServletRequest req){ 7 Person p = ps.get(id); 8 req.setAttribute("obj", p); 9 return "jPersonUpdate"; 10 } 11 12
1 jPersonUpdate.jsp 2 3 <input type="text" name="age" value="${obj.age}"/>