Struts2标签:checkboxlist

参考自博文:http://www.blogjava.net/koradji/articles/307399.htmlhtml

语法:java

<s:checkboxlist name="" list="" listKey="" listValue="" value="" />数组

  • name定义标签名,用于接收画面上选中的复选框,故应与Action里定义的属性一致,且多为数组;
  • list定义集合变量,用于输出复选框到画面上,通常在Action里定义一个List或Map属性;
  • listKey若是在Action里定义的是一个List,则每每会在List里定义一个Bean,它只有两个属性,其中一个(好比id)就在这里设置;
    • 若是在Action里定义的是一个Map,则Map的key就在这里设置;
  • listValue若是在Action里定义的是一个List,则每每会在List里定义一个Bean,它只有两个属性,另一个(好比name)就在这里设置
    • 若是在Action里定义的是一个Map,则Map的value就在这里设置;
  • value用于回显画面上被选中的复选框,假如画面有输入检查,若是有错则返回原画面并显示出错信息,这时候就须要使用它。
    • 通常把它设成和name一致就能够了。

例子:markdown

查询了全部的角色,获得用户与角色的全部id了。把封装到数组中。spa

public String editUI() {

        //把全部的角色查询出来,带过去给JSP页面显示
        ActionContext.getContext().getContextMap().put("roleList", roleServiceImpl.findObjects());

        //外边已经传了id过来了,咱们要找到id对应的User
        if (user != null &&user.getId() != null  ) {
            //直接获取出来,后面JSP会根据User有getter就能读取对应的信息!
            user = userServiceImpl.findObjectById(user.getId());

            //经过用户的id获得所拥有UserRole
            List<UserRole> roles = userServiceImpl.findRoleById(user.getId());
            //把用户拥有角色的id填充到数组中,数组最后回显到JSP页面
            int i=0;
            userRoleIds =  new String[roles.size()];
            for (UserRole role : roles) {
                userRoleIds[i++] = role.getUserRoleId().getRole().getRoleId();
            }

        }
        return "editUI";
    }

name值的是数组,能够用于自动回显。Action获得角色的id也是经过它.net

<s:checkboxlist list="#roleList" name="userRoleIds" listKey="roleId" listValue="name"></s:checkboxlist>
相关文章
相关标签/搜索