with spring 3.0
当我点击提交信息(帖子)时,此方法在此处调用
@RequestMapping(method = RequestMethod.POST)
public String userResult(@ModelAttribute UserForm userForm, Model model) {
List<UserInfo> listUserInfo = userService.searchUserInfo(userForm.getsearchCriteria());
userForm.setListUserInfo(listUserInfo);
userForm.setSearchDone(true);
model.addAttribute(userForm);
return "userSearch";
}
当我检查userForm和model时,jsp有很多列表框,
所有列表框都为空...
有没有办法避免这种情况?因为我每次都需要对db进行一些调用
感谢
答案 0 :(得分:1)
您可以通过这种方式在控制器方法中使用@ModelAttribute。
public class YourController{
@ModelAttribute("list1")
public List<YourObject> retrieveList1(){
//retrieve here the list from database
return list1;
}
public String userResult(@ModelAttribute UserForm userForm, Model model) {
...
}
}
当您使用@ModelAttribute(“list1”)注释方法时,此方法将在控制器中的任何方法之前自动执行,然后结果将添加到模型“list1”中。您可以将list1设置为您需要的value属性,并根据需要添加尽可能多的@ModelAttribute注释控制器。