2011-03-17 32 views
0

彈簧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"; 
} 

jsp中有許多列表框,當我檢查用戶窗體和模型, 所有列表框爲空... 有沒有辦法避免這種情況?因爲我需要做一些呼叫

感謝

回答

1

到DB每次您可以在這樣一個控制器的方法使用@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方法(「列表1」),那麼該方法會自動在控制器的任何方法之前執行,然後結果將在「列表1」的模式被添加。您可以將list1設置爲您需要的value屬性,並根據需要添加儘可能多的@ModelAttribute帶註釋的控制器。

+0

我試過你的解決方案,列表在模型中沒問題......但我們是否想在jsp中使用模型? – redfox26 2011-03-21 19:40:31

+0

@ user660503我不太瞭解你的評論。如果您想在JSP中使用該列表,您只需使用您在@ModelAttibute註釋中使用的名稱。例如在示例中的list1。例如,在選擇它將是 Javi 2011-03-22 08:54:16