2010-09-03 140 views
0

我有一個表單,根據選擇狀態([checkboxOn/checkboxOff])應該出現或不出現複選框。當顯示覆選框時,應該默認選中它。表單對象字段的默認值

如何處理這種情況下,考慮到

  • 當選擇是「checkboxOff」 狀態,我會 MyFormObject.isCheckboxOn ==虛假;
  • 當select處於'checkboxOn'狀態時, 的值應該按照請求嗎?

所有這些都應該在驗證錯誤回發,以及新窗體顯示時和有效窗體大小寫時也有效。

此外,我想避免在客戶端使用JavaScript。

下面是一些代碼,這需要進行擴展:

class MyFormObject { 
    private String selectValue; 
    private boolean isCheckboxOn; 
    ... 
} 

和兩個彈簧控制器的方法:

@RequestMapping(method = RequestMethod.GET) 
public ModelAndView showForm() { 
    return new ModelAndView('/form.jsp', 'command', new MyFormObject()); 
} 

@RequestMapping(method = RequestMethod.POST) 
public ModelAndView processSubmit(BindingResult result, MyFormObject command) { 
    if (result.hasErrors()) { 
    return new ModelAndView('/form', 'command', command); 
    } 
    ... 
    return new ModelAndView('redirect:/success.jsp'); 
} 

回答

0

如果你想從您的視圖中排除複選框場時isCheckboxOn設置如果爲false,則可以用交流環繞複選框字段:如果在JSP中:

<c:if test="isCheckboxOn"> 
    (your checkbox <input> tag goes here) 
</c:if> 

要在默認情況下選中該框,可以使用Spring's form tag library直接綁定到模型中的複選框字段,也可以使用其他c:ifchecked添加到<input>標記。