role_multi_sel.jsp
上传用户:jhtang88
上传日期:2014-01-27
资源大小:28528k
文件大小:5k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <%@ page contentType="text/html;charset=utf-8" %>
  2. <%@ page import="java.util.*" %>
  3. <%@ page import="cn.js.fan.util.*" %>
  4. <%@ page import="com.redmoon.oa.person.*" %>
  5. <%@ page import="com.redmoon.oa.pvg.*" %>
  6. <HTML><HEAD><TITLE>选择角色</TITLE>
  7. <link href="common.css" rel="stylesheet" type="text/css">
  8. <%
  9. RoleDb rd = new RoleDb();
  10. Vector v = rd.list();
  11. Iterator ir = v.iterator();
  12. String options = "";
  13. String roles = ParamUtil.get(request, "roleCodes");
  14. String[] fds = roles.split(",");
  15. int len = fds.length;
  16. if (roles.equals(""))
  17. len = 0; // 当为空时,split所得的数组长度为1
  18. String[] fdsText = new String[len];
  19. while (ir.hasNext()) {
  20. rd = (RoleDb) ir.next();
  21. boolean isFinded = false;
  22. for (int i=0; i<len; i++) {
  23. if (rd.getCode().equals(fds[i])) {
  24. isFinded = true;
  25. fdsText[i] = rd.getDesc();
  26. }
  27. }
  28. if (!isFinded)
  29. options += "<option value='" + rd.getCode() + "'>" + rd.getDesc() + "</option>";
  30. }
  31. String selOptions = "";
  32. for (int i=0; i<len; i++) {
  33. selOptions += "<option value='" + fds[i] + "'>" + fdsText[i] + "</option>";
  34. }
  35. %>
  36. <script language="JavaScript">
  37. function setRoles() {
  38. var str = "";
  39. var strText = "";
  40. var opts = fieldsSelected.options;
  41. var len = opts.length;
  42. for (var i=0; i<len; i++) {
  43. if (str=="") {
  44. str = opts[i].value;
  45. strText = opts[i].text;
  46. }
  47. else {
  48. str += "," + opts[i].value;
  49. strText += "," + opts[i].text;
  50. }
  51. }
  52. dialogArguments.setRoles(str, strText);
  53. window.close();
  54. }
  55. function sel() {
  56. var opts = fieldsNotSelected.options;
  57. var len = opts.length;
  58. var ary = new Array(len);
  59. for (var i=0; i<len; i++) {
  60. ary[i] = "0";
  61. if (opts(i).selected) {
  62. fieldsSelected.options.add(new Option(opts[i].text, opts[i].value));
  63. ary[i] = opts[i].value;
  64. }
  65. }
  66. for (var i=0; i<len; i++) {
  67. for (var j=0; j<len; j++) {
  68. if (ary[i]!="0") {
  69. try {
  70.     // 删除项目后,options会变短,因此用异常捕获来防止出错
  71. if (opts[j].value==ary[i])
  72. opts.remove(j);
  73. }
  74. catch(e) {
  75. }
  76. }
  77. }
  78. }
  79. }
  80. function notsel() {
  81. var opts = fieldsSelected.options;
  82. var len = opts.length;
  83. var ary = new Array(len);
  84. for (var i=0; i<len; i++) {
  85. ary[i] = "0";
  86. if (opts(i).selected) {
  87. fieldsNotSelected.options.add(new Option(opts[i].text, opts[i].value));
  88. ary[i] = opts[i].value;
  89. }
  90. }
  91. for (var i=0; i<len; i++) {
  92. for (var j=0; j<len; j++) {
  93. if (ary[i]!="0") {
  94. try {
  95.     // 删除项目后,options会变短,因此用异常捕获来防止出错
  96. if (opts[j].value==ary[i])
  97. opts.remove(j);
  98. }
  99. catch(e) {
  100. }
  101. }
  102. }
  103. }
  104. }
  105. </script>
  106. <META content="Microsoft FrontPage 4.0" name=GENERATOR><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  107. </HEAD>
  108. <BODY bgColor=#FBFAF0 leftMargin=4 topMargin=8 rightMargin=0 class=menubar>
  109. <jsp:useBean id="fchar" scope="page" class="cn.js.fan.util.StrUtil"/>
  110. <jsp:useBean id="cfg" scope="page" class="com.redmoon.oa.Config"/>
  111. <jsp:useBean id="privilege" scope="page" class="com.redmoon.oa.pvg.Privilege"/>
  112. <%
  113. String priv="read";
  114. if (!privilege.isUserPrivValid(request,priv))
  115. {
  116. // out.println(fchar.makeErrMsg("警告非法用户,你无访问此页的权限!"));
  117. // return;
  118. }
  119. %>
  120. <table width="501" height="293"  border="0" align="center" cellpadding="0" cellspacing="0" class="tableframe">
  121.   <tr>
  122.     <td height="23" colspan="3" class="right-title">&nbsp;&nbsp;<span>选择角色</span></td>
  123.   </tr>
  124.   <tr>
  125.     <td width="231" height="22" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以下为已选的角色</td>
  126.     <td width="37">&nbsp;</td>
  127.     <td width="231" height="22">以下为备选的角色</td>
  128.   </tr>
  129.   <tr>
  130.     <td align="right"><select name="fieldsSelected" size=20 multiple style="width:200px">
  131. <%=selOptions%>
  132.     </select>    </td>
  133.     <td align="center" valign="middle"><input type="button" name="sel" value=" &lt; " onClick="sel()" style="font-family:'宋体'">
  134.       <br>
  135.       <br>
  136.     <input type="button" name="notsel" value=" &gt; " onClick="notsel()" style="font-family:'宋体'"></td>
  137.     <td>
  138. <select name="fieldsNotSelected" size=20 multiple style="width:200px">
  139. <%=options%>
  140.     </select>
  141. </td>
  142.   </tr>
  143.   <tr>
  144.     <td height="22" align="left">&nbsp;</td>
  145.     <td>&nbsp;</td>
  146.     <td height="22">&nbsp;</td>
  147.   </tr>
  148.   <tr align="center">
  149.     <td height="28" colspan="3"><input type="button" name="okbtn" value=" 确 定 " onClick="setRoles()">
  150. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  151. <input type="button" name="cancelbtn" value=" 取 消 " onClick="window.close()"></td>
  152.   </tr>
  153. </table>
  154. </BODY></HTML>