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编辑  收藏  举报

导航