Spring - 使用数据绑定重定向到另一个视图
我认为如果我知道关键字,这个问题就很容易了,但我是 Spring 新手,所以我需要你的帮助,任何编辑都是值得赞赏的。
这就是我从视图中放置和获取对象数据的方法。
@RequestMapping(method = RequestMethod.GET)
public String login(Map model) {
Member member = new Member(1, "admin", "admin", Boolean.TRUE, null);
model.put("member", member);
return "login";
}
// The parameters must be in order @Model, BindingResult, Map
@RequestMapping(method = RequestMethod.POST)
public String ProcessForm(@ModelAttribute("member") Member member, BindingResult result, Map model) {
dao = new JdbcMemberDao(MemberController.dataSource);
member = (Member) model.get("member");
Member tmp = dao.getUser(member.getUsername(), member.getPassword());
if (tmp != null) {
model.put("member", tmp);
return "phonelist";
}
return "login";
}
但是,如果我有一个对象列表,那么我如何知道获取我想要的对象:
@RequestMapping(value = "/phonelist", method = RequestMethod.GET)
public String getPhoneList(Map model) {
List<Phone> phones = dao.getPhones();
model.put("phones",phones);
return "phonelist";
}
对象列表视图(使用 JSTL):
<table id="phoneTable">
<tr><th id="name">Name</th><th id="brand">Brand</th><th id="price">Price</th></tr>
<c:forEach items="${phones}" var="phone">
<tr><td><c:out value="${phone.name}"/></td><td><c:out value="${phone.brand}"/></td><td><c:out value="${phone.price}"/></td></tr>
</c:forEach>
</table>
我的问题是:
- 如何为每个对象创建一个带有链接的视图,以便我可以单击特定项目。
- 获取我刚刚单击的特定项目。
谢谢十亿:)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Spring 3.1 中通过名为“flash 属性”的新功能解决了这个问题:
http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/mvc.html#mvc-flash-attributes
This is addressed in Spring 3.1 with the new feature called "flash attributes":
http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/mvc.html#mvc-flash-attributes