jsp页面中有这样一个属性:
<s:checkboxlist name="clp.type" value="#attr.vo.type" theme="simple" list="#{'1':'吃饭','2':'睡觉','3':'洗脸','4':'刷牙'}" listKey="key" listValue="value" />
当我增加一个信息的时候,我多选,例如选中“吃饭”“洗脸”,增加完后保存到数据库,库中存的值为“1,3”用逗号隔开。
当对该条信息点击修改的时候,需要初始化这个复选框组,就从库中把这个值拿出来,用split(",")分割一下,然后用list.add()将值加到里面。将list对象设置到bean的属性中,vo.setType(list); type的类型是List,然后页面就如上代码那样读取出来初始化;
可问题就在这里出现了,我选中了1和3,保存后,点修改,读取出来选中的复选框却只有“吃饭”是勾上的,而“洗脸"没勾上;
但是 我直接在jsp页面里面做设置的话又可以:我这样写的:
<%
        List list=new ArrayList();
        list.add("1");
        list.add("3");
        request.setAttribute("mylist",list);
 %>
然后我将复选框组的value改写为: value="#attr.mylist", 这样我直接点击新增的时候,打开页面这两个框就被勾上了;
我想知道这是为什么,为什么两种情况出现的结果不一样。谢谢大家。