这可能是一个简单的问题,但我是新手。
我在Spring MVC 3.0中工作,我使用jsp格式映射模型对象。
我想在用户提交表单后将模型对象传回控制器。
我的JSP页面中只有标签,我设置了类似的东西
<td>First name : </td>
<td>
<form:label path="RegisterInterest.firstName">${RegisterInterest.firstName}</form:label>
</td>
此处RegisterInterest
是我的模型对象。
我希望在用户提交页面后恢复firstName
的值。
是否可以在标签中设置路径并将值发送回控制器?
我有一个解决方案,通过将模型保持在会话中这对我来说是最简单的解决方案但我不想在这种情况下使用会话! 我也可以使用隐藏标签,但我的JSP中有很多字段!
感谢。
答案 0 :(得分:0)
表单的目的是输入内容。这就是表格中有输入的原因。如果您想隐藏一些信息,可以使用。 但是,当您提交表格时,所有保留在输入外的信息都不会被考虑在内。
你的问题背后的想法是什么?
答案 1 :(得分:0)
我会举个例子:
public class FormInput{
@NotNull(message="Name can't be null")
private name;
@NotNull(message("Age can't be null")
private age;
etc etc
如果你创建一个类似于这个类的类,它将保存表单中的所有数据,并将该类作为@ModelAttribute传递,如下所示:
@ModelAttribute(FormInput);
model.addAttribute(FormInput);
return new ModelAndView(model, form.jsp);
至于你的.jsp文件看看这个网站,看看如何使用和你的spring .jsp http://static.springsource.org/spring/docs/3.0.x/reference/view.html
别忘了添加
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
在.jsp的开头
当调用POST时,您可以使用@Valid
自动验证所有字段,如果您调用bindingResult.hasErrors()
,它会将错误消息打印到表单上的字段,而无需编写任何代码
确保您提供给代码的名称与您为类字段提供的名称相匹配。