您的位置:首页 > 编程语言 > Java开发

struts2关于checkbox处理的一个bug

2010-05-16 22:02 302 查看
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()去掉分割后字符串存在的空格。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: