帖子后列表框为空

发布于 2024-10-22 05:36:23 字数 528 浏览 1 评论 0原文

使用spring 3.0,

当我点击提交信息(post)时,这里调用这个方法

@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";
} 

,jsp有很多列表框,当我检查userForm和模型时, 所有列表框均为空... 有办法避免吗?因为我每次都需要对数据库进行一些调用,

谢谢

with spring 3.0

when i click to submit information (post) this method is called here

@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";
} 

the jsp have many listbox, when i check the userForm and model,
all listbox is null...
is there a way to avoid that? because i will need to do some call to db every time

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

路还长,别太狂 2024-10-29 05:36:23

您可以通过这种方式在控制器方法中使用@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 注解的控制器。

You can use @ModelAttribute in a controller method in this way.

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) {
        ...
    }
}

When you annotate the method with @ModelAttribute("list1") then this method will automatically be executed before any method in the controller and then the result will be added in the model at "list1". You can set list1 to the value property you need and add as many @ModelAttribute annotated controllers as you need.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文