struts2——s:doubleselect标签!!!
2010-10-21 10:34
197 查看
doubleselect:
1)<s:doubleselect标签必须要放在<s:form>里面。
2) <s:doubleselect标签默认是竖着显示,要横着显示也很麻烦,要覆盖strut2的css或者覆盖struts2的方法。3)在使用<s:doubleselect标签的时候加上headerKey和headerValue属性出现显示不完整的情况。
4)一级列表需要一个list,而二级列表需要一个map。
5)top代码一级列表当前选中的项。map.get(top.deptno)代表根据部门编号找到map里面对应的员工集合。6)一个jsp页面上出现了两个<s:doubleselect标签也存在显示不完全的现象。
dto:
jsp:
html源码:
效果
第二种做法:
action:
1)<s:doubleselect标签必须要放在<s:form>里面。
2) <s:doubleselect标签默认是竖着显示,要横着显示也很麻烦,要覆盖strut2的css或者覆盖struts2的方法。3)在使用<s:doubleselect标签的时候加上headerKey和headerValue属性出现显示不完整的情况。
4)一级列表需要一个list,而二级列表需要一个map。
5)top代码一级列表当前选中的项。map.get(top.deptno)代表根据部门编号找到map里面对应的员工集合。6)一个jsp页面上出现了两个<s:doubleselect标签也存在显示不完全的现象。
import java.util.HashMap; import java.util.Map; import java.util.Vector; import com.opensymphony.xwork2.ActionSupport; public class UIAction extends ActionSupport { private Vector vector; private Map map; public String execute() throws Exception { vector = new Vector(); DeptInfo d1 = new DeptInfo("11", "销售部"); DeptInfo d2 = new DeptInfo("22", "网络部"); DeptInfo d3 = new DeptInfo("33", "IT中心"); vector.add(d1); vector.add(d2); vector.add(d3); Vector vector1 = new Vector(); UserInfo u1 = new UserInfo("1", "张三"); UserInfo u2 = new UserInfo("2", "李四"); UserInfo u3 = new UserInfo("3", "王五"); vector1.add(u1); vector1.add(u2); vector1.add(u3); Vector vector2 = new Vector(); UserInfo u10 = new UserInfo("10", "小张"); UserInfo u20 = new UserInfo("20", "小李"); UserInfo u30 = new UserInfo("30", "小王"); vector2.add(u10); vector2.add(u20); vector2.add(u30); Vector vector3 = new Vector(); UserInfo u100 = new UserInfo("100", "张张"); UserInfo u200 = new UserInfo("200", "丽丽"); UserInfo u300 = new UserInfo("300", "旺旺"); vector3.add(u100); vector3.add(u200); vector3.add(u300); map = new HashMap(); map.put(d1.getDeptno(), vector1); map.put(d2.getDeptno(), vector2); map.put(d3.getDeptno(), vector3); return "success"; } public Vector getVector() { return vector; } public void setVector(Vector vector) { this.vector = vector; } public Map getMap() { return map; } public void setMap(Map map) { this.map = map; } }
dto:
public class UserInfo { private String userno; private String username; public UserInfo() { } public UserInfo(String userno, String username) { this.userno = userno; this.username = username; } public String getUserno() { return userno; } public void setUserno(String userno) { this.userno = userno; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }
public class DeptInfo { private String deptno; private String deptname; public DeptInfo() { } public DeptInfo(String deptno, String deptname) { this.deptno = deptno; this.deptname = deptname; } public String getDeptno() { return deptno; } public void setDeptno(String deptno) { this.deptno = deptno; } public String getDeptname() { return deptname; } public void setDeptname(String deptname) { this.deptname = deptname; } }
jsp:
<body> <s:form> <s:doubleselect id="selectid" name="selectname" list="vector" listKey="deptno" listValue="deptname" doubleId="doubleselectid" doubleName="doubleselectname" doubleList="map.get(top.deptno)" doubleListKey="userno" doubleListValue="username" /> </s:form> </body>
html源码:
<body> <form id="ui" name="ui" onsubmit="return true;" action="/ui/ui.action;jsessionid=F3DF27784FF8329CDA10ADAD186B6345" method="post"><table class="wwFormTable"> <tr> <td class="tdLabel"></td> <td > <select name="selectname" id="selectid" onchange="selectidRedirect(this.options.selectedIndex)"> <option value="11">销售部</option> <option value="22">网络部</option> <option value="33">IT中心</option> </select> <br /> <select name="doubleselectname" id="doubleselectid"> </select> <mce:script type="text/javascript"><!-- var selectidGroup = new Array(3 + 0); for (i = 0; i < (3 + 0); i++) selectidGroup[i] = new Array(); selectidGroup[0][0] = new Option("张三", "1"); selectidGroup[0][1] = new Option("李四", "2"); selectidGroup[0][2] = new Option("王五", "3"); selectidGroup[1][0] = new Option("小张", "10"); selectidGroup[1][1] = new Option("小李", "20"); selectidGroup[1][2] = new Option("小王", "30"); selectidGroup[2][0] = new Option("张张", "100"); selectidGroup[2][1] = new Option("丽丽", "200"); selectidGroup[2][2] = new Option("旺旺", "300"); var selectidTemp = document.ui.doubleselectid; selectidRedirect(0); function selectidRedirect(x) { var; for (m = selectidTemp.options.length - 1; m >= 0; m--) { selectidTemp.options[m] = null; } for (i = 0; i < selectidGroup[x].length; i++) { selectidTemp.options[i] = new Option(selectidGroup[x][i].text, selectidGroup[x][i].value); } if ((selectidTemp.options.length > 0) && (! selected)) { selectidTemp.options[0].selected = true; } } // --></mce:script> </td> </tr> </table></form> </body>
<s:set name="pc" value="#{'广东省':{'广州市','深圳市','珠海市'},'江苏省':{'南京市','苏州市','扬州市'},'河南省':{'郑州市','洛阳市','开封市','南阳市'}}" /> <s:form> <s:doubleselect id="selectid" name="selectname" list="#pc.keySet()" doubleName="doubleselectname" doubleList="#pc[top]" doubleId="doubleselectid" doubleName="doubleselectname" /> </s:form>
效果
第二种做法:
action:
相关文章推荐
- struts2中级联菜单标签<s:doubleselect>的若干常见问题(二级菜单不显示,FreeMarker问题)
- struts2中<s:doubleselect/>标签的使用心得<>
- 神奇的struts2的doubleselect标签
- struts2中<s:doubleselect/>标签的使用心得<原创>
- Struts2-<s:doubleselect>标签 联动下拉框
- struts2中<s:doubleselect/>标签的使用(转)
- struts2中<s:doubleselect/>标签的使用(转)
- struts2如何实现select标签和doubleselect标签
- struts2中<s:doubleselect/>标签的使用<转>
- struts2 的doubleSelect标签的使用
- Struts2中<s:doubleselect>标签从MySQL数据库中查询出数据实现二级联动
- 浅谈struts2标签中的2个很常用的标签的用法(radio和select)
- struts2中s:select标签的使用 Map
- struts2 中select标签的用法 总结《网上汇编的》
- struts2中s:select标签的使用
- struts2 select标签
- 学习struts2 的select标签
- struts2的select标签用法实例分析
- struts doubleselect 标签
- struts2 <s:select 标签手记