历史 | 登录     查看当前页的打印版本.  
问题详情 (XML | Word | Printable)

Key: EASYJWEB-24
类型: 任务 任务
状态: Open Open
优先级: Minor Minor
开发者: williamraym
报告人: tianyi
投票: 0
关注人: 0
操作

复制 问题
创建 子任务
如果你是 登录 你不能看到更多操作.
easyjweb

easyjweb处理复选框

创建: 20/十二月/07 11:33 上午   更新: 26/十二月/07 12:16 下午
模块: 通用业务封装(core)
影响版本:
修复版本:

环境: easyjweb1.0-m3


 描述  « Hide
处理复选框的时候,如果有多个,那么会作为数组处理,如果只有一个,就会当作字符串处理,这样在后台接受变量的时候需要做判断,比较麻烦,看能不能把一条数据的时候也封装成数组。

 所有   备注   改动记录      排列顺序:
daxia - 26/十二月/07 12:16 下午
楼上有什么好的方式吗?我记得在论坛里面谈过这个问题。

楼主说的第2个及第3个问题,都是由于页面不的规范造成的。最好规范一点,要么使用get、要么使用post,最好不要<form action="?cmd=xxx"><input type='hidden' name="cmd" value="xxx1"/>,这个问题以前在我们的项目中也因为一开始没有规划好,出现这样的问题,但后来都统一使用get或post方式了。其实用其它框架也存在这个问题。

  关于传递数组的问题,比如有几个checkbox,当页面上选择一多个的时候,传到后台的是数组,但选择一个的时候,传到后台切是字符串,因此不通过简单的form.get("chk")得到checkbox的选项值。但是可以通过使用toPo的方式来解决,也就是把属性定义成String[] chk。然后使用toPo就会自动封装,再通过getChk来得到具体的值。
另外,EasyJWeb中还提供了一个方法CommUtil.getStringArray(obj),来得到一个String[]。如下所示:
String[] chk=CommUtil.getStringArray(form.get("chk"));


http://www.easyjf.com/bbs.ejf?easyJWebCommand=appShow&id=4882447