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