项目中一个用户有多个角色,在进行修改该用户时,需要把他的以有所有角色显示出来,页面中这些角色是以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导向的页面中含有上面的代码,但是,结果是页面中显示了所有的角色,但是没有把那三个默认选中……
所属角色:<s:checkboxlist list="#ds.roleMap" required="true" theme="simple" name="roleInfo" listKey="key" listValue="value" value="roleInfo"/>其中 roleInfo是一个action的String属性,是数组,它里面存了角色的id值,这个action导向的页面中含有上面的代码,但是,结果是页面中显示了所有的角色,但是没有把那三个默认选中……
让我来解答吧例如
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" />