structs2 doubleselect 标签使用
一、doubleselect用法
注意:1) <s:doubleselect />标签必须放置在<s:form></s:form>标签之内
2) <s:form>标签必须有name属性
因为在struts2标签框架编译中会生成javascript代码,此时会通过form表单的名字来控制标签.
3)关于doubleSelect 主要功能是使用它的级联作用。
二、成功级联的方法
1、实体类
有一个module的实体类
有以下两个属性:
private int moduleId;
private String moduleName;
并具有对应的set、和get、方法
有一个operation的实体类
有以下两个属性:
private int operationId;
private String operationName;
并具有对应的set、和get、方法
2、后台Action代码
在action中,有一个list 和一个map。list存放的是级联菜单的第一个下拉框,map存的是级联菜单的第二个下拉框。每一个map的key值和list中的对象也是有一一对应的,map的value存储的是另一个list,用来在二级下拉框中显示。
action中的代码如下所示:
3、jsp页面的写法:
注意。List和doubleList的写法。这里取的是request域的内容所以使用#request.key 这里的key就是在action放置的key.另外doubleList是通过map.get(top.id),首先从request域中取出map,因为map的key值是前一个list中对象的moduleID,所以,可以通过top.ip
这里是top.moduleId获得的,这样就可以实现级联。
<s:doubleselect name="right.module.moduleId" list="#request.modules" listKey="moduleId" listValue="moduleName"
doubleName="right.operation.operationId" doubleList="#request.map.get(top.moduleId)"
doubleListKey="operationId" doubleListValue="operationName" theme="simple" formName="rightform"/>
三、结果如下:
posted on 2012-11-10 17:30 NewPanderKing 阅读(672) 评论(0) 编辑 收藏 举报