不使用标签库的 Spring MVC 表单提交中需注意的问题

Spring MVC 有用于表单绑定的标签。但这些标签最终也会生成标准的 HTML 页面。所以,理论上这些标签是不需要的,只要模拟它们生成的 HTML 就可以了。

Spring MVC 的 Form 标签生成的 HTML 很有规律:<form> 元素的 id 属性对应 modelAttribute,input 元素的 name 属性对应 model 中的属性。但是,有一点需要注意。如果 input 类型是 checkbox,那么表单中还需要有一个 hidden input,name 为下划线加上checkbox 的 name。

例如:

<input type="checkbox" name="checkbox" />
<input type="hidden" name="_checkbox" />


否则,在没有任何 checkbox 被选中的状态下,checkbox 对应提交的数组是 null。这样 Spring MVC 无法进行相应的数据绑定。这种情况并不会抛出异常,但是会造成表单的结果无法正常提交。

当然,如果使用 Spring MVC 的标签就没有这些问题了。但我的原则是尽量不去使用标签。例如,Spring MVC 的 Form 标签,不像 JSTL 那样,可以提供很多方便的功能,功能很鸡肋。这样的标签我觉得就不用的好,用多了对 JS 和 HTML 设计多多少少都有干扰。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值