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()去掉分割后字符串存在的空格。
<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()去掉分割后字符串存在的空格。
相关文章推荐
- 一个关于Delphi XML处理单元的BUG
- 关于struts2中checkbox勾选被处理又跳转回原页面的问题
- 关于Ext.form.NumberField中输入一个超大数字,失去焦点后变成另一个数字的bug的处理
- javaBUG处理,关于保存表单信息多了一个,逗号 。
- Qt4中的一个关于消息处理的BUG
- 关于axis2中对soapfault的处理的一个小bug
- 一个关于Delphi XML处理单元的BUG
- jquery关于checkbox在ie下的一个bug
- [lwn] A nasty file corruption bug - fixed (关于Linus解决的一个set_page_dirty很隐蔽的bug)
- 遇到一个非常坑的BUG!!关于Button的
- 关于StructLayout的一个bug??
- 一个关于微软的_toupper的bug!
- WPF关于WindowInteropHelper的一个BUG
- struts2 国际化的一个日期封装bug
- 关于bug分析与异常处理的一些思考
- 关于Qt solution中qtwinmigrate framework的一个bug
- 在不同语言中关于CheckBox的处理办法(ASP、JSP、PHP)
- 一个关于Excel的处理类(部分参考网络上)
- 网上看到的关于bug度量的一个公式
- 关于服务器项目日志的一个便捷处理