Spring MVC 有用于表单绑定的标签。但这些标签最终也会生成标准的 HTML 页面。所以,理论上这些标签是不需要的,只要模拟它们生成的 HTML 就可以了。
Spring MVC 的 Form 标签生成的 HTML 很有规律:<form> 元素的 id 属性对应 modelAttribute,input 元素的 name 属性对应 model 中的属性。但是,有一点需要注意。如果 input 类型是 checkbox,那么表单中还需要有一个 hidden input,name 为下划线加上checkbox 的 name。
例如:
Xml代码
- <input type="checkbox" name="checkbox" />
- <input type="hidden" name="_checkbox" />
否则,在没有任何 checkbox 被选中的状态下,checkbox 对应提交的数组是 null。这样 Spring MVC 无法进行相应的数据绑定。这种情况并不会抛出异常,但是会造成表单的结果无法正常提交。