一个帖子后列表框为null

时间:2011-03-17 16:44:53

标签: spring spring-mvc

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进行一些调用

感谢

1 个答案:

答案 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注释控制器。