struts2关于checkbox处理的一个bug

jsp页面

<input type="checkbox" name="cks" value="1"/>

 

<input type="checkbox" name="cks" value="2"/>

 

<input type="checkbox" name="cks" value="3"/>

 

如果当前cks在action中被被定义为String类型,即 private Stirng cks;  public getCks() {};public setCks() {};

全选checkbox后,提交后发现cks获取的数据为:1, 2, 3;在后台程序中如果我们使用split分割字符串,则获得数组为["1"],[" 2"],[" 3"],于实际传递的值发生变化。

 

如果当前cks在action中被被定义为String[]字符串数组类型,即 private String[] cks,则当前问题不存在。

 

结论:我们可以发现  struts2在处理checkbox属性时,如果当前属性定义为字符串,则从第二个选中checkbox开始,其值被莫名的添加了一个空格做前导;如果当前属性定义为字符串数组则不存在这样的问题

 

建议:页面存在checkbox的地方请将映射字段类型定义为String[]字符串数组类型,如果确实定义为String的,请用trim()去掉分割后字符串存在的空格。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值