表单对象字段的默认值

时间:2010-09-03 09:31:13

标签: forms spring-mvc spring-3

我有一个表单,根据选择状态([checkboxOn / checkboxOff]),应该出现一个复选框。显示复选框时,应默认选中它。

如何处理这种情况,考虑到

  • 当select在'checkboxOff'时 国家,我会的 MyFormObject.isCheckboxOn == false;
  • 当select处于'checkboxOn'状态时, 该值应该与请求中一样吗?

所有这些都应该适用于回复时的验证错误,以及显示新表单和有效表单的情况。

另外,我想避免在客户端使用JavaScript。

以下是一些需要扩展的代码:

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

和两个Spring控制器的方法:

@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');
}

1 个答案:

答案 0 :(得分:0)

如果要在isCheckboxOn设置为false时从视图中排除复选框字段,可以在c:中包含复选框字段,如果在JSP中:

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

要默认选中此框,您可以使用Spring's form tag library直接绑定到模型中的复选框字段,也可以使用其他c:ifchecked添加<input> {1}}标记。