按下 修改数据之后

修改功能实现-转向修改页面

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}"/>
05-02 12:37
查看更多