我对如何使用Spring Forms编辑对象感到有点困惑,例如:假设我有一个对象 Person ,它有很多属性,因为我是从dao中获取的,我只想提供字段“街道”进行编辑,我会在我的 PeopleController 中提供:
@RequestMapping("editPerson")
public void editPerson (Model model) {
Person person = dao.getThatPerson ();
model.addAttribute (person);
}
在我的视图文件中我除了这个之外什么都没有:
<form:form method="post" action="" commandName="person">
<form:input path="street" />
<input type="submit" value="Edit!" />
</form:form>
因此,当我发布表单时,是否会保留 Person 对象的其他属性?例如,人的姓名,姓名,用户名,年龄等。否则,如何实现?
答案 0 :(得分:0)
答案 1 :(得分:0)
将模型对象存储在会话中,如下所示:
@Controller
@SessionAttributes("person")
public class YourController {
...
@ModelAttribute("person")
public Person getPerson() {
return new Person();
}
@RequestMapping("editPerson")
public void editPerson (@ModelAttribute("person") Person person) {
person = dao.getThatPerson ();
}
@RequestMapping(value="postperson", method = RequestMethod.POST)
public void postPerson(@ModelAttribute("person") Person person) {
// do stuff with person
}
}