Java springmvc中请求间的数据传输
我有一个简单的向导控制器。当我试图从上次读取数据时,我的用户属性将消失。你知道为什么会这样吗?我该怎么解决 这是我的控制器Java springmvc中请求间的数据传输,java,spring-mvc,Java,Spring Mvc,我有一个简单的向导控制器。当我试图从上次读取数据时,我的用户属性将消失。你知道为什么会这样吗?我该怎么解决 这是我的控制器 @Controller public class WizardController { @RequestMapping(method = RequestMethod.GET) public String userForm(User user) { return "form/userForm"; } @RequestMa
@Controller
public class WizardController {
@RequestMapping(method = RequestMethod.GET)
public String userForm(User user) {
return "form/userForm";
}
@RequestMapping(value = "/user", method = RequestMethod.POST)
public String processedForm(User user, BindingResult result, ModelMap model) {
if (result.hasErrors()) {return "form/userForm";}
ArrayList<String> p = new ArrayList<String>();
p.add("add_user");
p.add("delete_user");
model.addAttribute("permissions", p);
model.addAttribute("user", user);
return "form/permissionForm";
}
@RequestMapping(value = "/show", method = RequestMethod.POST)
public String show(@ModelAttribute("user") User user, BindingResult result) {
if (result.hasErrors()) {
System.out.println("Error");
return "show";
} else {
System.out.println(user);
return "show";
}
}
}
查看为相同目的而构建的
重定向属性
,即在请求之间保留值
public class User implements Serializable {
private String name;
private String email;
private String password;
private Integer age;
private List<String> permissions;
...
}
<form:form action="/user" method="post" modelAttribute="user">
<form:errors path="*" cssClass="errorblock" element="div"/>
<p><form:input path="name" placeholder="Name"/></p>
<p><form:input path="age" placeholder="Age"/></p>
<p><form:input path="email" placeholder="Email"/></p>
<p><form:input path="password" placeholder="Password"/></p>
<input type="submit"></p>
</form:form>
<form:form action="/show" method="post" modelAttribute="user">
<form:errors path="*" cssClass="errorblock" element="div"/>
<p>
<form:select path="permissions">
<form:options items="${permissions}"/>
</form:select>
</p>
<p><input type="submit" value="Add"/></p>
</form:form>
${user}