role.jsp
上传用户:lm2018
上传日期:2015-12-12
资源大小:30449k
文件大小:7k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <%@ page language="java" pageEncoding="GBK"%>
  2. <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
  3. <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
  4. <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
  5. <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
  6. <script>
  7. var xmlhttp_request = false;
  8. function initrequest(){
  9. if(window.XMLHttpRequest){//这种就是Mozilla
  10. xmlhttp_request = new XMLHttpRequest();
  11. }else if(window.ActiveXObject){//这种浏览器是IE
  12. try{
  13. xmlhttp_request = new ActiveXObject("Msxml2.XMLHttp");
  14. }catch(e){
  15. try{
  16. xmlhttp_request = new ActiceXObject("microsoft.XMLHttp");
  17. }catch(e){
  18. }
  19. }
  20. }
  21. if(!xmlhttp_request){
  22. alert("您的浏览器不支持Ajax");
  23. return false;
  24. }
  25. }
  26. function processRequest(){
  27. if(xmlhttp_request.readystate==4){
  28. //完成返回结果,处理
  29. if(xmlhttp_request.status==200){
  30. //正确结果返回处理
  31. document.getElementById("result").innerHTML = xmlhttp_request.responseText;
  32. }else{
  33. //返回结果错误时的处理
  34. }
  35. }else{
  36. //未完成处理中...
  37. }
  38. }
  39. function ajaxcheck(){
  40. initrequest();
  41. xmlhttp_request.onreadystatechange=processRequest;
  42. var rname = document.getElementById("rname").value;
  43. var url = "role.do?method=checkName&rname="+rname+"&sessid="+Math.random();
  44. xmlhttp_request.open("post",url,true);//发送请求到服务器
  45. xmlhttp_request.send(null);//可以传递文件,流,字符串
  46. }
  47. </script>
  48. <script>
  49. function checkform(){
  50. var rname=document.getElementById("rname");
  51. if(rname.value.length<=0){
  52. alert('角色名称不能为空!');
  53. rname.focus();
  54. return false;
  55. }
  56. <%-- 数组--%>
  57. var role = document.getElementsByName("frole");
  58. var flag = false;
  59.     for(i=0;i<role.length;i++){
  60.      //alert(role[i].checked);
  61.            if(role[i].checked) {
  62.             flag = true;
  63.             break;
  64.            }
  65.         }
  66.         if(!flag) {
  67.          alert("请为角色分配功能!");
  68.          return false;
  69.         } 
  70. }
  71. function selectCheck(){
  72. }
  73. //选中孩子
  74. function selectChild(o){
  75. //获得本菜单的tr
  76. var otr = o.parentElement.parentElement;
  77. //获得子菜单的tr
  78. var otrmenu = otr.nextSibling;
  79. //遍历子菜单的checkbox
  80. for(var i=0;i<otrmenu.all.length;i++) {
  81. if(otrmenu.all[i].type=="checkbox"){
  82. otrmenu.all[i].checked = o.checked;
  83. }
  84. }
  85. }
  86. //选中父类(适用二级)
  87. function selectParent(o){
  88. //t=true默认找到
  89. var t= false;
  90. //获得本菜单的tr
  91. var otr = o.parentElement.parentElement;
  92. //获得父菜单的tr
  93. var otrmenu = otr.previousSibling;
  94. //遍历子菜单的checkbox,验证是有选
  95. for(var i=0;i<otr.all.length;i++) {
  96. if(otr.all[i].type=="checkbox" && otr.all[i].checked){
  97. t = true;
  98. break;
  99. }
  100. }
  101. //设置父类的checkbox状态
  102. if(t){
  103. for(var i=0;i<otrmenu.all.length;i++) {
  104. if(otrmenu.all[i].type=="checkbox"){
  105. otrmenu.all[i].checked = "checked";
  106. selectRoot(otrmenu.all[i]);
  107. break;
  108. }
  109. }
  110. }else{
  111. for(var i=0;i<otrmenu.all.length;i++) {
  112. if(otrmenu.all[i].type=="checkbox"){
  113. otrmenu.all[i].checked = "";
  114. selectRoot(otrmenu.all[i]);
  115. break;
  116. }
  117. }
  118. }
  119. }
  120. //选中根点节(适用一级)
  121. function selectRoot(o){
  122. //t=true默认找到
  123. var t= false;
  124. //获得本菜单的tr
  125. var otr = o.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement
  126. //获得父菜单的tr
  127. var otrmenu = otr.previousSibling;
  128. //遍历子菜单的checkbox,验证是否全选
  129. for(var i=0;i<otr.all.length;i++) {
  130. if(otr.all[i].type=="checkbox" && otr.all[i].checked){
  131. t = true;
  132. break;
  133. }
  134. }
  135. //设置父类的checkbox状态
  136. if(t){
  137. for(var i=0;i<otrmenu.all.length;i++) {
  138. if(otrmenu.all[i].type=="checkbox"){
  139. otrmenu.all[i].checked = "checked";
  140. break;
  141. }
  142. }
  143. }else{
  144. for(var i=0;i<otrmenu.all.length;i++) {
  145. if(otrmenu.all[i].type=="checkbox"){
  146. otrmenu.all[i].checked = "";
  147. break;
  148. }
  149. }
  150. }
  151. }
  152. //菜单的显示与隐藏
  153. function menu(o){
  154. if(o.style.display=="block"){
  155. o.style.display="none";
  156. }else{
  157. o.style.display="block";
  158. }
  159. }
  160. function setDisplay(id){
  161. var one = document.getElementById(id+"_menu");
  162. if(one.style.display=="none"){
  163. one.style.display="block";
  164. }else{
  165. one.style.display="none";
  166. }
  167. }
  168. function loadValue(){
  169. <logic:present name="rflist" scope="request">
  170. <logic:iterate id="rflist" name="rflist">
  171. var roleid = document.getElementsByName("rolefun");
  172. for(var i=0;i<roleid.length;i++){
  173. if(roleid[i].value=="${rflist.fid}"){
  174. roleid[i].checked = "checked";
  175. }
  176. }
  177. </logic:iterate>
  178. </logic:present>
  179. }
  180. </script>
  181. <style type="text/css">
  182. <!--
  183. .STYLE1 {
  184. font-family: "新宋体";
  185. font-size: 14px;
  186. }
  187. -->
  188. </style>
  189. <body onload="loadValue();">
  190. <div align="center"><FONT color="red">${msg}</FONT></div>
  191. <html:form action="/role">
  192. <html:hidden property="rid"/>
  193. <html:hidden property="method"/>
  194. <table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#66CCFF" class="STYLE1">
  195. <tr  class="tableHead" style="font-size: 20px">
  196.    <td height="46" colspan="2" align="center"><STRONG>角色信息编辑</STRONG></td>
  197.    </tr>
  198. <tr>
  199. <td align="right">角色名称:</td>
  200. <td><html:text property="rname" onblur="ajaxcheck();"/>
  201. <font color="#FF0000">* &nbsp;&nbsp;&nbsp;<SPAN id="result"></SPAN></font></td>
  202. </tr>
  203. <tr>
  204. <td align="right">角色备注:</td>
  205. <td><html:textarea property="rmemo" cols="50" rows="5"/></td>
  206. </tr>
  207. <tr>
  208. <td align="right">角色功能:</td>
  209. <td>
  210. <table width="100%" border="0">
  211. <logic:iterate id="fun" name="funlist" scope="request">
  212. <logic:equal value="0" property="fpid" name="fun">
  213.        <tr>
  214.        <td>
  215.        <input type="checkbox" id="frole" name="rolefun" onclick="selectChild(this);" value="${fun.fid}"/>
  216.        <span onclick="setDisplay('f${fun.fid}');" style="cursor: hand">${fun.fname}</span>
  217.        </td>
  218.        </tr>
  219.        <tr id="f${fun.fid}_menu">
  220.        <td>
  221.        <table>
  222.        <logic:iterate id="funsun" name="funlist" scope="request">
  223.        <logic:equal value="${fun.fid}" property="fpid" name="funsun">
  224.        <tr >
  225.        <td>
  226.        &nbsp;&nbsp;<input type="checkbox" name="rolefun" onclick="selectRoot(this);" value="${funsun.fid}"/>${funsun.fname}
  227.        </td>
  228.        </tr>
  229.        </logic:equal>
  230.        </logic:iterate>
  231.        </table>
  232.        </td>
  233.        </tr>
  234.        </logic:equal>
  235.        </logic:iterate>
  236. </table>
  237. </td>
  238. </tr>
  239. <tr align="center">
  240. <td colspan="2">
  241.       <html:submit onclick="return checkform();" value="确认"/>
  242.       <html:reset value="重置" />  
  243. </td>
  244. </tr>
  245. </table>
  246. </html:form>
  247. </body>