Struts2之checkboxlist 设置默认值和结果回显

<s:checkboxlist list="#{'篮球':'篮球','足球':'足球','排球':'排球'}"></s:checkboxlist>

这么定义会出现下面这种错误

HTTP Status 500 - Expression parameters.name is undefined on line 38, column 32 in template/simple/checkboxlist.ftl. - Class: freemarker.core.TemplateObject

错误原因 没有 name

<s:checkboxlist list="#{'篮球':'篮球','足球':'足球','排球':'排球'}" name="hobby" ></s:checkboxlist>

给复选框设置默认值

<s:checkboxlist list="#{'篮球':'篮球','足球':'足球','排球':'排球'}" name="hobby"

value="{'篮球','足球'}"></s:checkboxlist>

获取值并且回显

<s:checkboxlist list="#{'篮球':'篮球','足球':'足球','排球':'排球'}" name="hobby" value="hobby"></s:checkboxlist>

在action中

声明变量并生成set get 方法  private String hobby[];用来接收传过来的值

在要回显的jsp中

<s:checkboxlist list="#{'篮球':'篮球','足球':'足球','排球':'排球'}" name="hobby" value="hobby"></s:checkboxlist>

就能直接显示刚才穿过的选项

=====================================================================

<label class="control-label" for="">权限项</label>
                        <div class="controls">
                            <label class="checkbox inline">
                                <s:checkboxlist list="permissionPageList" listKey="nameKey"
                                listValue="nameKey" value="selected" name="newPermissions">
                                </s:checkboxlist>  

                            </label>
                        </div>  

其中

list="permissionPageList"是action中的list,里面放置的是权限对象permissions, 
listKey="nameKey" 这里的nameKey对应后台permissionPageList集合中permissions这个对象的的属性nameKey,listKey的值也是将要传入后台的值,传入后台后这个只放置newPermissions集合中; 
listValue="nameKey" 是显示在页面上的内容; 
name="newPermissions" 这是将勾选的选项的listKey="nameKey"传入后台; 
value="selected" 这是回显的,就是默认的打钩的选项,selected是action中定义的List集合,用来存放listValue="nameKey"中的nameKey的值,把想要默认打钩的listValue="nameKey"的nameKey在action中加入selected集合即可

上一篇:linux下编译安装curl


下一篇:Log4j2升级jar包冲突问题