struts2关于checkbox处理的一个bug

来源:互联网 发布:依稀网络语是什么意思 编辑:程序博客网 时间:2024/04/30 08:52

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()去掉分割后字符串存在的空格。

 

 

 

 

原创粉丝点击