项目中一个用户有多个角色,在进行修改该用户时,需要把他的以有所有角色显示出来,页面中这些角色是以checkboxlist展示的,就是说假设有10个角色,而该用户有3个角色,那么,应该选中三个复选框这是我的部分代码<s:bean id="ds" name="commonUtil.tool.DwrCommon" />
所属角色:<s:checkboxlist list="#ds.roleMap" required="true" theme="simple"  name="roleInfo" listKey="key" listValue="value" value="roleInfo"/>其中 roleInfo是一个action的String属性,是数组,它里面存了角色的id值,这个action导向的页面中含有上面的代码,但是,结果是页面中显示了所有的角色,但是没有把那三个默认选中……

解决方案 »

  1.   

    http://topic.csdn.net/u/20090315/15/e7541b0a-d0b2-48db-9a0c-118ce3eb762c.html
      

  2.   

    http://topic.csdn.net/u/20090315/15/e7541b0a-d0b2-48db-9a0c-118ce3eb762c.html
      

  3.   

    <input type="checkbox" name="permissions" value="1" <%=set.contains(1)?" checked":""%>> 
      

  4.   

    我想用struts2的方式不能解决这个问题吗?请高手指点一二
      

  5.   

    我已经解决了,只要设置一个Integer数组和这个checkboxlist的name值对应即可,这样只要把数据库中的id值取出放入到这个name中,页面自然会对相应的checkboxlist打上钩
      

  6.   

    最烦跟LZ一样的SB了,不懂分享
      

  7.   


    让我来解答吧例如
    public class LevelOne
    {
        private List<LevelTwo> children;
    }定义一个数组levelTwosInLevelOne,将LevelTwo的标识放入该数组:
    List<Integer> levelTwosInLevelOne = new ArrayList<Integer>();
    for ( LevelTwo levelTwo : levelOne.getChildren() )
    {
        levelTwosInLevelOne.add( levelTwo.getId() );
    }
    当然,levelTwosInLevelOne要有getter和setter在界面
    <s:checkboxlist label="儿子"  name="levelTwosInLevelOne" --注意这里,这是Action中定义的数组
                                  list="allLevelTwo"  --这里是所有的LevelTwo数组
                                  listKey="id"   --这个是LevelTwo的标识,类型要匹配levelTwosInLevelOne数组的类型
                                  listValue="name" />