亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

jquery easy ui最新版本 簡單的權限分配

2019-11-06 06:09:15
字體:
來源:轉載
供稿:網友

jquery easy 1.5 Maven+servlet+jsp+jdbc實現權限管理分配

              

1.準備工作

       先從官網下載源代碼:點擊打開鏈接,

      下載完成后看如下目錄項:locale myself 和src都是些組件的js,easy ui把這些js都封裝好了,所以我們不需要考慮這些。

     

    接著我們需要搭建項目環境,我的項目用到了maven,關于maven環境搭建大家可以在網上找點資料看下,在此就不多加贅述了。貼下pom.xml配置具體如圖:

[java] view plain copy PRint?<dependency>              <groupId>javax.servlet</groupId>              <artifactId>servlet-api</artifactId>              <version>2.5</version>              <scope>provided</scope>          </dependency>            <!– 加入MySQL驅動依賴包 –>          <dependency>              <groupId>mysql</groupId>              <artifactId>mysql-connector-java</artifactId>              <version>5.1.27</version>          </dependency>              <dependency>              <groupId>jstl</groupId>              <artifactId>jstl</artifactId>              <version>1.2</version>          </dependency>            <dependency>              <groupId>taglibs</groupId>              <artifactId>standard</artifactId>              <version>1.1.2</version>          </dependency>            <!–引入json包 –>          <dependency>              <groupId>org.apache.commons</groupId>              <artifactId>commons-lang3</artifactId>              <version>3.1</version>          </dependency>            <dependency>              <groupId>commons-beanutils</groupId>              <artifactId>commons-beanutils</artifactId>              <version>1.8.3</version>          </dependency>            <dependency>              <groupId>commons-logging</groupId>              <artifactId>commons-logging</artifactId>              <version>1.1.1</version>          </dependency>            <dependency>              <groupId>commons-collections</groupId>              <artifactId>commons-collections</artifactId>              <version>3.2.1</version>          </dependency>            <dependency>              <groupId>net.sf.ezmorph</groupId>              <artifactId>ezmorph</artifactId>              <version>1.0.6</version>          </dependency>             <dependency>             <groupId>net.sf.json-lib</groupId>                  <artifactId>json-lib</artifactId>                   <version>2.4</version>               </dependency>  
<dependency>            <groupId>javax.servlet</groupId>            <artifactId>servlet-api</artifactId>            <version>2.5</version>            <scope>provided</scope>        </dependency>        <!-- 加入mysql驅動依賴包 -->        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>5.1.27</version>        </dependency>        <dependency>            <groupId>jstl</groupId>            <artifactId>jstl</artifactId>            <version>1.2</version>        </dependency>        <dependency>            <groupId>taglibs</groupId>            <artifactId>standard</artifactId>            <version>1.1.2</version>        </dependency>        <!--引入json包 -->        <dependency>            <groupId>org.apache.commons</groupId>            <artifactId>commons-lang3</artifactId>            <version>3.1</version>        </dependency>        <dependency>            <groupId>commons-beanutils</groupId>            <artifactId>commons-beanutils</artifactId>            <version>1.8.3</version>        </dependency>        <dependency>            <groupId>commons-logging</groupId>            <artifactId>commons-logging</artifactId>            <version>1.1.1</version>        </dependency>        <dependency>            <groupId>commons-collections</groupId>            <artifactId>commons-collections</artifactId>            <version>3.2.1</version>        </dependency>        <dependency>            <groupId>net.sf.ezmorph</groupId>            <artifactId>ezmorph</artifactId>            <version>1.0.6</version>        </dependency>         <dependency>           <groupId>net.sf.json-lib</groupId>                <artifactId>json-lib</artifactId>                 <version>2.4</version>             </dependency>[java] view plain copy print?<build>          <plugins>              <plugin>                  <artifactId>maven-compiler-plugin</artifactId>                  <version>2.3.2</version>                  <configuration>                      <source>1.6</source>                      <target>1.6</target>                  </configuration>              </plugin>              <plugin>                  <artifactId>maven-war-plugin</artifactId>                  <version>2.2</version>                  <configuration>                      <version>3.0</version>                      <failOnMissingWebXml>false</failOnMissingWebXml>                  </configuration>              </plugin>                  <plugin>                    <groupId>org.apache.tomcat.maven</groupId>                  <artifactId>tomcat7-maven-plugin</artifactId>                  <version>2.1</version>                  <configuration>                      <server>tomcat7</server>                      <port>8000</port>                      <url>http://localhost:8000/manager/text</url><!–端口號 –>                      <uriEncoding>UTF-8</uriEncoding>                      <path>/zycweb</path>                      <username>admin</username>                      <passWord>admin</password>                  </configuration>                </plugin>            </plugins>      </build>  
<build>        <plugins>            <plugin>                <artifactId>maven-compiler-plugin</artifactId>                <version>2.3.2</version>                <configuration>                    <source>1.6</source>                    <target>1.6</target>                </configuration>            </plugin>            <plugin>                <artifactId>maven-war-plugin</artifactId>                <version>2.2</version>                <configuration>                    <version>3.0</version>                    <failOnMissingWebXml>false</failOnMissingWebXml>                </configuration>            </plugin>            <plugin>                <groupId>org.apache.tomcat.maven</groupId>                <artifactId>tomcat7-maven-plugin</artifactId>                <version>2.1</version>                <configuration>                    <server>tomcat7</server>                    <port>8000</port>                    <url>http://localhost:8000/manager/text</url><!--端口號 -->                    <uriEncoding>UTF-8</uriEncoding>                    <path>/zycweb</path>                    <username>admin</username>                    <password>admin</password>                </configuration>            </plugin>        </plugins>    </build>一切都準備好后,首先考慮我們 權限管理框架的邏輯,用戶登錄以后先查詢該用戶擁有的角色,再查詢該角色下擁有的菜單模塊。同時管理員可以分配角色擁有哪些模塊,以及所謂的增刪查改。這個是我們考慮需要做的,數據庫采用的是mysql。表結構如下,由于只是簡單的權限控制模塊,沒有考慮增刪查改這些權限控制操作(以后如果有時間再加上吧),如果數據庫只用到了五張表。如圖。

今天有時間,我用erstudio建模工具講表的大致結構規劃出來了,現在大家可以看看表結構。

        2.登錄獲取權限菜單

         用戶名登錄獲取哪些菜單呢?首先獲得用戶角色下擁有的菜單信息。easy ui 返回給客戶端響應的都是json格式數據,所以我們登錄成功進入到主頁面要是json格式,這樣才能給我們想要的結果。那登錄后的界面是啥樣呢?首先從下載好的easyui demo 文件夾里找到layout布局文件夾這個組件中,找到一個demo,你會看到它們是怎么引入js和CSS的。所以嘛,照搬,從full.html引入它的js css

如圖把該引入的css js都引入到本項目中。我是把項目中所有用到的js css都引入到一個公共頁面中了taglib.jsp中。好了應該效果圖也出來了。layout組件分上下左右中五塊區域,首先我們就要考慮west區域,因為這塊區域是樹菜單。這塊剛開始是犯難了,到底是一下子全部加載出來樹呢,還是點擊一下加載出來呢(也就是異步加載,這樣應該很容易理解吧,哈哈),考慮到有的項目可能很多模塊,響應時間不能過長,還是選擇異步加載。異步加載需要考慮先加載一級菜單和二級菜單,然后二級菜單下有沒有三級菜單,需要做個判斷,如果有返回的json格式必須有個狀態state:closed.具體服務器端關鍵代碼如下:(由于剛開始寫沒有用json第三方包都是手寫拼的所以是這樣的)

[java] view plain copy print?<span style=“font-size:12px;”> if (newModelList != null && newModelList.size() > 0) {// 用戶權限是否擁有菜單                          for (int i = 0; i < newModelList.size(); i++) {                              long roleModelId = newModelList.get(i).getModelId();                              for (int j = 0; j < listModelByParentId.size(); j++) {// 查詢菜單是否擁有此角色菜單,作比較                                  TModel tModel = listModelByParentId.get(j);                                  if (tModel.getId() == roleModelId) {                                      List<TModel> listSecond = modelDao.getRoleModelByParentId(tModel.getId());                                      jsonStr.append(”{/”id/”:” + tModel.getId() + “,/”text/”:/”“ + tModel.getName() + “/”,”);                                      if (listSecond != null && listSecond.size() > 0) {                                          jsonStr.append(”/”state/”:/”closed/”“);                                      } else {                                          jsonStr.append(”/”state/”:/”open/”“);                                      }                                        if (tModel.getUrl() != null && !“”.equals(tModel.getUrl())) {                                          jsonStr.append(”,/”url/”:/”“ + tModel.getUrl() + “/”“);                                      } else {                                          // jsonStr.append(“/”url/”:/”servlet/LoginServlet/”“);                                      }                                      jsonStr.append(”},”);                                  }                              }                          }                      }                      if (jsonStr.toString().endsWith(“,”)) {                          String newJson = jsonStr.toString().substring(0, jsonStr.toString().length() - 1);                          jsonStr.replace(0, jsonStr.toString().length(), newJson);                      }                      if (parentId != null && parentId.equals(“0”)) {                          jsonStr.append(”]}]”);                      } else {                          jsonStr.append(”]”);                      }</span>  
<span style="font-size:12px;"> if (newModelList != null && newModelList.size() > 0) {// 用戶權限是否擁有菜單                        for (int i = 0; i < newModelList.size(); i++) {                            long roleModelId = newModelList.get(i).getModelId();                            for (int j = 0; j < listModelByParentId.size(); j++) {// 查詢菜單是否擁有此角色菜單,作比較                                TModel tModel = listModelByParentId.get(j);                                if (tModel.getId() == roleModelId) {                                    List<TModel> listSecond = modelDao.getRoleModelByParentId(tModel.getId());                                    jsonStr.append("{/"id/":" + tModel.getId() + ",/"text/":/"" + tModel.getName() + "/",");                                    if (listSecond != null && listSecond.size() > 0) {                                        jsonStr.append("/"state/":/"closed/"");                                    } else {                                        jsonStr.append("/"state/":/"open/"");                                    }                                    if (tModel.getUrl() != null && !"".equals(tModel.getUrl())) {                                        jsonStr.append(",/"url/":/"" + tModel.getUrl() + "/"");                                    } else {                                        // jsonStr.append("/"url/":/"servlet/LoginServlet/"");                                    }                                    jsonStr.append("},");                                }                            }                        }                    }                    if (jsonStr.toString().endsWith(",")) {                        String newJson = jsonStr.toString().substring(0, jsonStr.toString().length() - 1);                        jsonStr.replace(0, jsonStr.toString().length(), newJson);                    }                    if (parentId != null && parentId.equals("0")) {                        jsonStr.append("]}]");                    } else {                        jsonStr.append("]");                    }</span>整取返回的菜單格式應該如下圖

服務器已經給客戶端發送json格式數據了,那么前端該怎么樣實現異步加載呢?具體代碼如下:

[java] view plain copy print?<span style=“font-size:12px;”>   (</span><span class="string">'#tree'</span><span>).tree({&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url:<span class="string">'${zyc}/servlet/TreeServlet?parentId=0'</span><span>&nbsp;,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;animate:<span class="keyword">true</span><span>,&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;checkbox:<span class="keyword">false</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lines:<span class="keyword">true</span><span>,&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onClick:&nbsp;function(node){&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(node.url!=</span><span class="string">""</span><span>&nbsp;&amp;&amp;&nbsp;typeof(node.url)!=</span><span class="string">'undefined'</span><span>){&nbsp;&nbsp;</span></span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addtab(node.text,<span class="string">"${zyc}/"</span><span>+node.url);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onBeforeExpand:function(node,param){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">'#tree'</span><span>).tree(</span><span class="string">'options'</span><span>).url&nbsp;=&nbsp;</span><span class="string">"../servlet/TreeServlet?parentId="</span><span>&nbsp;+&nbsp;node.id;&nbsp;&nbsp;</span><span class="comment">//動態獲取節點&nbsp;&nbsp;</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});&lt;/span&gt;&nbsp;&nbsp;</span></li></ol><div class="save_code tracking-ad" data-mod="popu_249"><a href="javascr('#tree').tree({                url:'${zyc}/servlet/TreeServlet?parentId=0' ,                animate:true,                checkbox:false,                lines:true,                onClick: function(node){                         if(node.url!="" && typeof(node.url)!='undefined'){                             addtab(node.text,"${zyc}/"+node.url);                            }                   },                onBeforeExpand:function(node,param){                           $('#tree').tree('options').url = "../servlet/TreeServlet?parentId=" + node.id;  //動態獲取節點                   }             });</span>  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久久国产精品| 亚洲精品国产精品乱码不99按摩| 日韩av在线网址| 在线免费看av不卡| 日韩精品www| 欧美日韩中国免费专区在线看| 久久成年人视频| 日韩av最新在线观看| 午夜精品一区二区三区在线视| 91精品国产乱码久久久久久久久| 国产色婷婷国产综合在线理论片a| 国模吧一区二区三区| 成人亚洲综合色就1024| 欧美一级成年大片在线观看| 美女精品视频一区| 欧美精品久久一区二区| 欧美激情一区二区三区在线视频观看| 日日噜噜噜夜夜爽亚洲精品| 欧美电影免费观看大全| 国内精品国产三级国产在线专| 精品露脸国产偷人在视频| 亚洲免费视频网站| 久久国产精品久久国产精品| 久久91亚洲人成电影网站| 欧美午夜激情在线| 亚洲欧美国产一区二区三区| **欧美日韩vr在线| 国产在线精品成人一区二区三区| 欧美日韩精品在线播放| 亚洲日本中文字幕免费在线不卡| 久久亚洲精品国产亚洲老地址| 亚洲国产日韩欧美综合久久| 久久精品国产91精品亚洲| 91国在线精品国内播放| 国产精自产拍久久久久久| 亚洲国产另类久久精品| 国产精品三级美女白浆呻吟| 国产成人亚洲综合青青| 国产成人精品999| 国产91在线视频| 久久成人精品视频| 久久精品小视频| 成人中心免费视频| 久久久精品2019中文字幕神马| 国产一区视频在线播放| 一区二区三区视频免费在线观看| 久久精品影视伊人网| 日韩天堂在线视频| 国产有码在线一区二区视频| 欧美激情第三页| 国产精品丝袜视频| 2018中文字幕一区二区三区| 欧美成人免费网| 精品国产91久久久| 欧美性猛交xxxx黑人猛交| 国产日韩欧美影视| 国产精品永久免费视频| 亚洲色图欧美制服丝袜另类第一页| 日韩中文有码在线视频| 成人妇女淫片aaaa视频| 韩国欧美亚洲国产| 亚洲精品久久视频| 日韩经典一区二区三区| 91国自产精品中文字幕亚洲| 成人欧美一区二区三区黑人| 欧美精品18videos性欧| 国产精品视频网站| 精品久久久久人成| 国产精品高清免费在线观看| 成人亚洲欧美一区二区三区| 日韩美女视频在线观看| 欧美精品18videosex性欧美| 欧美日韩国产二区| 国产日本欧美一区二区三区在线| 国产日产久久高清欧美一区| 国产亚洲欧美aaaa| 久久久久国产精品免费| 亚洲精品美女在线观看播放| 久久人人爽人人| 久久精品国产亚洲精品| 亚洲天堂视频在线观看| 亚洲高清一区二| 国产在线视频不卡| 91老司机在线| 九九综合九九综合| 日韩一区二区三区在线播放| 久久久97精品| 午夜精品美女自拍福到在线| 中文字幕一区电影| 欧美人与性动交a欧美精品| 久久久久久久999| 精品亚洲一区二区三区四区五区| 91精品久久久久久久久久久久久| 成人做爽爽免费视频| 亚洲电影中文字幕| 久久综合久中文字幕青草| 欧美激情亚洲一区| 日韩欧美国产视频| 国产一区二区三区在线视频| 亚洲国产精品久久精品怡红院| 欧美极品在线播放| 亚洲精品720p| 欧美精品精品精品精品免费| 97在线观看免费| 精品国内自产拍在线观看| 两个人的视频www国产精品| 欧美精品久久一区二区| 亚洲欧美激情精品一区二区| 久久久久久久久久国产| 久久国产精品久久久久久| 国产精品视频成人| 国产精品678| 91美女福利视频高清| 狠狠色狠狠色综合日日小说| 国产精选久久久久久| 69久久夜色精品国产7777| 国产高清视频一区三区| 亚洲国产天堂网精品网站| 国产精品久久久久久久久久久新郎| 亚洲人成电影网站色…| 欧美日韩日本国产| 日本午夜精品理论片a级appf发布| 亚州精品天堂中文字幕| 亚洲视频在线观看| 亚洲一区美女视频在线观看免费| 国产亚洲xxx| 欧美在线影院在线视频| 91在线播放国产| 亚洲人成在线播放| 亚洲综合在线播放| 一区二区成人精品| 欧美乱大交做爰xxxⅹ性3| 欧美成人一二三| 欧美日韩视频在线| 爱福利视频一区| 欧美色欧美亚洲高清在线视频| 欧美做爰性生交视频| 亚洲午夜精品久久久久久性色| 国产精品中文字幕在线观看| 亚洲精品久久久一区二区三区| 97精品国产97久久久久久春色| 欧美日韩亚洲视频一区| 国产精品成人aaaaa网站| 一本一本久久a久久精品牛牛影视| 国产亚洲欧美视频| 亚洲女人天堂成人av在线| 伊人久久大香线蕉av一区二区| 国产精品久久av| 欧美精品在线看| 欧美激情第一页xxx| 国产亚洲福利一区| 亚洲国产中文字幕在线观看| 亚洲人免费视频| 色噜噜亚洲精品中文字幕| 精品久久香蕉国产线看观看gif| 国产欧美日韩免费看aⅴ视频| 91精品视频免费观看| 午夜精品久久久久久久久久久久久| 日韩欧美国产成人| 欧美尤物巨大精品爽| 欧美专区福利在线| 国产91精品视频在线观看| 一区二区成人精品| 日韩av电影国产|