李李的技術(shù)博客

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            13 隨筆 :: 0 文章 :: 61 評(píng)論 :: 0 Trackbacks
          https://bba96.dev.java.net/
          源文件下載
          https://bba96.dev.java.net/servlets/ProjectDocumentList?folderID=4149&expandFolder=4149&folderID=0


          1. 核心持久層部分基于spring/hibernate,實(shí)現(xiàn)強(qiáng)大靈活的動(dòng)態(tài)query功能,可獨(dú)立使用。
          2. 權(quán)限部分,基于RBAC,支持?jǐn)?shù)據(jù)權(quán)限,依賴1部分的接口。
          3. Action層,基于1以及webwork,良好架構(gòu),減少大量代碼,支持view靈活進(jìn)行query且有參數(shù)教驗(yàn)支持保證安全性。

          簡(jiǎn)單說bba96就是基于hibernate/spring的快速開發(fā)框架,其中包含了對(duì)Hibernate Critiera,Projection的封裝,通過一個(gè)強(qiáng)大而靈活的QueryObject對(duì)象,方便動(dòng)態(tài)添加與刪除條件。
          通過統(tǒng)一的query與數(shù)據(jù)庫(kù)交互,方便AOP,其中的RBAC權(quán)限模塊(支持?jǐn)?shù)據(jù)權(quán)限)即是通過AOP操作QueryObject對(duì)象來實(shí)現(xiàn)的。bba96核心可以跟流行的view整合,目前只有webwork整合的版本。

          bba96 不再需要自己寫DAO/SERVICE,借助簡(jiǎn)單的spring ioc即可配置使用缺省DAO/SERVICE,而且通過靈活方便,易擴(kuò)展的后臺(tái)持久層與webwork的整合,完全實(shí)現(xiàn)了快速開發(fā)的目的。


          Get Up And Running Quick

          Example:
          ?? (1) enter the example/simple or emample/book folder.
          ?????? NOTE:all following operation is under the folder you entered
          ?? (2) copy your JDBC driver (default mysql) to the lib directory
          ?????? -- webapps\ROOT\WEB-INF\lib
          ?? (3) edit hibernate.properties for database info (default mysql)
          ?????? -- src\main\java\hibernate.properties
          ?? (4) run "ant"
          ?? (5) create database via the sql script generated at database\schema-export.sql
          ?? (6) edit applicationContext.xml for database info (default mysql)
          ?????? -- webapps\ROOT\WEB-INF\applicationContext.xml (line 5 - 21)
          ?? (7) start server and see this example


          有使用上的討論,請(qǐng)聯(lián)系我 MSN: hotmail的帳號(hào)scorpio_leon
          posted on 2005-11-09 00:51 李李 閱讀(6391) 評(píng)論(45)  編輯  收藏 所屬分類: 技術(shù)

          評(píng)論

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2005-12-28 18:19 xrc8088
          看了一下你的代碼,我現(xiàn)在有一個(gè)問題,from A ,B 其中A,B是兩個(gè)沒有關(guān)聯(lián)的對(duì)象,你的代碼能不能實(shí)現(xiàn)?  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2005-12-28 23:37 李李
          除非Critiera支持,目前不能,需要對(duì)象間有關(guān)聯(lián),因?yàn)閮?nèi)部還是Critiera得query方法。  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2005-12-29 12:38 xrc8088
          謝謝你的回答,那么你的框架為什么不用HQL來封裝,我覺的要靈活,強(qiáng)大一些!  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2005-12-29 16:37 李李
          HQL應(yīng)該跟Critiera+Projections比較,雖然我沒有仔細(xì)比較過,不過沒感覺HQL強(qiáng)大多少?我看Critiera+Projections都能實(shí)現(xiàn)嘛,或者你舉個(gè)例子讓我看看。 MSN: hotmail的帳號(hào)scorpio_leon  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2005-12-30 12:35 xrc8088
          比如有一復(fù)雜的查詢,要求動(dòng)態(tài)產(chǎn)生查詢語(yǔ)句(不僅僅是字段的值變化,字段也產(chǎn)生變化),不知道能否完成?還有你現(xiàn)在的web端用的是ww,能否用Struts?如果你有Struts整合的代碼,能否給我一份?Email:xuruchao8088@yahoo.com.cn  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2005-12-30 21:02 李李
          這個(gè)很容易實(shí)現(xiàn),只要有關(guān)聯(lián),bba96在動(dòng)態(tài)產(chǎn)生查詢語(yǔ)句方面比較強(qiáng)大的,特別是方便的別名無限關(guān)聯(lián),以及復(fù)雜的邏輯關(guān)系組合。具體看QueryObject,QueryParam。
          不過暫時(shí)還沒有struts整合的代碼,而且以后struts ti將以webwork為核心,所以我也不打算為現(xiàn)有的struts做整合了,所謂不能整合只是不方便jsp調(diào)用,但是action層是直接支持的,不須特別整合。  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2005-12-31 08:47 xrc8088
          謝謝你的回答,在struts中BaseAction的代碼是不是和你的代碼中DefaultActionSupport的代碼有相似的地方(ww我不熟悉),我現(xiàn)在的工程底層的想采用你的框架,所以要問的詳細(xì)一些。  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2005-12-31 17:44 李李
          DefaultActionSupport一部分是簡(jiǎn)化webwork持久化操作,另一部分就是解析jsp或者properties傳遞的參數(shù),后面這部分是類似的,直接就可以用。我的框架已經(jīng)應(yīng)用在我以及其他用戶開發(fā)的很多工程中,你可以放心采用,建議取cvs上最新的。  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-02 18:39 xrc8088
          我在用的過程中,有一個(gè)問題,好像不能用String作為主鍵,怎么辦?  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-02 19:06 李李
          cvs最新的不限制主鍵類型  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-02 21:50 xrc8088
          cvs username/pwd serverAdd?  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-03 10:41 李李
          host:cvs.dev.java.net
          repository path:/cvs
          user:guest
          password:(空)
          然后
          check out bba96  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-09 12:25 xrc8088
          李李 :你好,我現(xiàn)在在寫代碼的時(shí)候碰到了一些問題:1,我做查詢的時(shí)候,假設(shè)字段的值都不填,或者填的不全,或者都填寫,你的代碼好像不能自己來判斷?還是要我們自己來if-else?比如下面的代碼:
          DynaActionForm tradeInfoForm = (DynaActionForm) form;


          String startTime = (String) tradeInfoForm.get("startTime");

          String endTime = (String) tradeInfoForm.get("endTime");

          String tradeType = (String) tradeInfoForm.get("tradeType");

          String terminalId = (String) tradeInfoForm.get("terminalId");

          Date startTime2 = null;

          Date endTime2 = null;

          try {

          if (startTime != null && startTime.trim().length() > 0) {
          startTime2 = DateUtil.StringToDate(startTime);
          }

          if (endTime != null && endTime.trim().length() > 0) {

          endTime2 = DateUtil.StringToDate(endTime);
          }


          } catch (ParseException e) {


          e.printStackTrace();
          }

          String[] names = new String[] { startTime, endTime, tradeType,
          terminalId };
          String[] operators = new String[] { QueryParam.OPERATOR_GT,
          QueryParam.OPERATOR_LT, QueryParam.OPERATOR_EQ,
          QueryParam.OPERATOR_EQ };
          Object[] values = new Object[] { startTime2, endTime2, tradeType,
          terminalId };

          int total = entityManager.countAll(TradeInfo.class,names,operats,values);
          logger.debug("TradeInfo TotalCount " + total);

          List result = entityManager.findAll(TradeInfo.class,names,operats,values);

          如果不填的話,出現(xiàn)"The operator can only be set 'is' or '=' or 'is not' or '!=' when value is NULL!"異常,
            回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-09 12:35 xrc8088
          補(bǔ)充,簡(jiǎn)單的說就是,通過上面的代碼,我可以查詢我想要的結(jié)果,我不用對(duì)查詢條件進(jìn)行排列組合,不知道可不可以,我看了一下源碼,好像是可以,但是上面的語(yǔ)句為什么是錯(cuò)誤的?  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-09 21:35 李李
          The operator can only be set 'is' or '=' or 'is not' or '!=' when value is NULL!"
          這個(gè)異常就是告訴你現(xiàn)在的值是null,對(duì)應(yīng)的操作符只能是=, !=, is, is not。

          因?yàn)椴樵兊淖侄斡锌赡苁菍?duì)象,null是有意義,所以要忽略view傳過來的參數(shù),應(yīng)該由Action這層處理,缺省的頁(yè)面?zhèn)鬟f過來,有參數(shù)名的值,沒填的時(shí)候就是空,因此在我的webwork action中對(duì)空串作了忽略處理,同時(shí)還已經(jīng)作了string到一般對(duì)象的轉(zhuǎn)換,你的jsp中可以這樣寫endTime_Date。以下這一段通過自動(dòng)處理都能省掉,你可以參考一下,用struts也能實(shí)現(xiàn)。

          String startTime = (String) tradeInfoForm.get("startTime");

          String endTime = (String) tradeInfoForm.get("endTime");

          String tradeType = (String) tradeInfoForm.get("tradeType");

          String terminalId = (String) tradeInfoForm.get("terminalId");

          Date startTime2 = null;

          Date endTime2 = null;

          try {

          if (startTime != null && startTime.trim().length() > 0) {
          startTime2 = DateUtil.StringToDate(startTime);
          }

          if (endTime != null && endTime.trim().length() > 0) {

          endTime2 = DateUtil.StringToDate(endTime);
          }


          } catch (ParseException e) {


          e.printStackTrace();
          }

          String[] names = new String[] { startTime, endTime, tradeType,
          terminalId };
          String[] operators = new String[] { QueryParam.OPERATOR_GT,
          QueryParam.OPERATOR_LT, QueryParam.OPERATOR_EQ,
          QueryParam.OPERATOR_EQ };
          Object[] values = new Object[] { startTime2, endTime2, tradeType,
          terminalId };

            回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-13 14:25 rason
          能否實(shí)現(xiàn)在互相關(guān)聯(lián)的實(shí)體間的查詢,
          比如hibernate參考文檔中的例子,怎么能在這個(gè)框架中實(shí)現(xiàn):
          createCriteria(Cat.class)
          .add( Restrictions.like("name", "F%")
          .createCriteria("kittens")
          .add( Restrictions.like("name", "F%")
          .list();  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-13 20:57 李李
          find(Cat.class, new String[]{"name", "kittens:kitten.name"}, new String[]{"like", "like"}, new Object[]{"F%", "F%"})
          這是action/service的寫法,若你用webwork,框架中支持直接從jsp解析參數(shù),就比較方便了。

          冒號(hào)后表示別名,還可以繼續(xù)進(jìn)行關(guān)聯(lián)查詢?nèi)?kittens:kitten.propeties:property.name,沒有層次的限制。   回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-16 09:07 rason
          好!我就準(zhǔn)備在這個(gè)項(xiàng)目中使用這個(gè)框架。
          有什么問題,還望多指教。  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-16 12:09 李李
          用CVS上的吧,現(xiàn)在release的只支持Long的主鍵,CVS上的去掉了這個(gè)限制
          有問題可以加我的MSN或者到這里討論
          http://forum.bba96.com/forum.jspa?forumID=29&start=0
          還將加入權(quán)限控制的模塊,由于一直在趕項(xiàng)目,還來不及把權(quán)限發(fā)布,因?yàn)檫€有一些需要調(diào)整的代碼。  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-16 17:13 rason
          李李,你的MSN是?  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-16 23:04 李李
          上面有寫,MSN: hotmail的帳號(hào)scorpio_leon   回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-18 16:17 dfdf
          關(guān)聯(lián)查詢時(shí),如果兩個(gè)實(shí)體是many-to-many,在主控方查出來后,怎么顯示出來?因?yàn)樵趍any的一方有Set集合,在頁(yè)面顯示有問題?  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-18 16:23 李李
          不太明白,頁(yè)面顯示有什么問題?Set一樣可以iterator  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-19 09:46 dfdf
          已經(jīng)解決,謝謝  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-01-21 18:40 李李
          CVS上已加入前臺(tái)傳入的參數(shù)校驗(yàn)以及額外增加參數(shù)的功能,都可以通過配置properties文件實(shí)現(xiàn),增加了安全性及靈活性  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-02-22 20:49 xrc8088
          李李 ,穩(wěn)定版什么時(shí)候出來?  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-02-23 10:11 李李
          現(xiàn)在cvs上的也是比較穩(wěn)定的,暫時(shí)沒有發(fā)現(xiàn)bug。幾個(gè)項(xiàng)目從1.0開始都在用  回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-03-02 18:03 老仲
          projections.setProperty(new String[]{"id","itemcode","content"});

          輸出頁(yè)面上怎么寫?
            回復(fù)  更多評(píng)論
            

          # re: 快速開發(fā)框架bba96 正式加入dev.java.net的Java Enterprise Projects 2006-03-02 22:24 李李
          內(nèi)部就是調(diào)用hibernate的projections.setProperty,hibernate支持什么結(jié)構(gòu)就是什么結(jié)構(gòu)  回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) 2006-03-21 22:54 xrc
          能不能在你的bba96中加入調(diào)用存儲(chǔ)過程的代碼
            回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) 2006-03-22 10:55 李李
          可以的
          我會(huì)給findByHQL加上names, values的參數(shù),就可以調(diào)用了,但是這樣的調(diào)用受hibernate的一些限制,參考
          http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#sp_query
          確實(shí)想不受限制,也可直接使用session.connection()獲得jdbc connection來調(diào)用
          CVS上的CoreEntityManager有public Object getCurrentSession()的方法,類型轉(zhuǎn)化為ore.hibenate.Session即可,缺省此方法不在EntityManager中提供。
          謝謝你的關(guān)注,請(qǐng)多提意見  回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) 2006-03-22 13:45 xrc
          謝謝你的回答,我準(zhǔn)備在項(xiàng)目中用你的代碼,不知有什么限制?  回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) 2006-03-22 15:04 李李
          bba96使用LGPL發(fā)布,跟hibernate一樣的。  回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) 2006-04-13 19:07 dddd
          to:李李 我在使用bba96的時(shí)候,對(duì)于父子關(guān)系的查詢,出現(xiàn)了異常,could not reslove property ,用到了屬性的別名,我在線等你的回答!  回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) 2006-04-14 01:52 李李
          根據(jù)MSN的交流,上面的情況是沒有正確引用關(guān)聯(lián)表屬性,這也是hibernate使用者容易犯的錯(cuò)誤。
          舉個(gè)hsql的例子,假設(shè)child:parent關(guān)系多對(duì)一,id是主鍵
          select from Child child where child.parent.id = 1 正確
          select from Child child where child.parent.name = 'name' 錯(cuò)誤
          select from Child child left join child.parent p where p.name = 'name' 正確
          多(child)這邊本來就記錄了一(parent)的主鍵,parent的時(shí)候id是可以取得的,而hibernate多對(duì)一默認(rèn)關(guān)聯(lián)使用代理Proxy,這個(gè)parent的代理就是先拿到id作代理準(zhǔn)備的,parent.id就取到了,但是parent的其它屬性就需要顯式連接才可以取到。
          同理,相應(yīng)的bba96的代碼就是
          parent.id 正確
          parent.name 錯(cuò)誤
          parent:p.name 正確
            回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) 2006-04-15 07:49 dddd
          謝謝你的回答,問題我已經(jīng)全部解決!
            回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) 2006-07-18 10:30 xiaochen
          代碼QueryWebUtils.java中如下參數(shù)
          age,>,20
          [and:a]id,>,100
          [and:a]id,!=,200
          [or:or_b]salary,>,200
          [or:or_b]salary,<,400
          [or:and_a]age,=,60
          [or:and_a]title,=,manager
          [not:or_a]age,=,30
          [not:or_a]title,=,cto
          生成sql:(age>20 and (age=60 or title=cto)) or (age=60 or title=cto) and not (age=60 or title=cto)
          為什么id和salary丟失了?
          而在DefaultActionSupport中如下參數(shù)
          age,>,20
          [and:a]id,>,100
          [and:a]id,!=,200
          [or:b]salary,>,200
          [or:b]salary,<,400
          [or:a]age,=,60
          [or:a]title,=,manager

          then the generated sql like this:
          age > 20 and (id > 100 and id != 200) or (salary > 200 and salary < 400) or (age = 60 and title = manager)
          兩者解析的方法有什么不同?
          另外在public static QueryParam generateQueryParam(String[] names, String[] operators, Object[] values)
          中有bug:判斷andParameters != null卻取得 notParameters.keySet();
          if (andParameters != null) {
          QueryParam innerQueryParam = new QueryParam();
          for (String key : notParameters.keySet()) {
          ……
          }
          }
          麻煩你解答一下,另外如果方便的話,說明一下參數(shù)的含義,從jsp--〉action--〉service有什么不同之處?謝謝你  回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) 2006-07-18 16:44 李李
          為什么id和salary丟失了?
          --抱歉,這里遺漏了
          DefaultActionSupport是舊的版本,QueryWebUtils.java是tiger中重構(gòu)過的版本,解析的方法是一致的,最新的以tiger版本為準(zhǔn)
          notParameters.keySet(); 這里是bug,謝謝指正,馬上修正

          這里的用法僅是為了允許jsp的參數(shù)帶有簡(jiǎn)單邏輯組合,可以自動(dòng)處理為service可識(shí)別的參數(shù)類型  回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) 2006-07-21 22:34 小陳故事
          謝謝解答,請(qǐng)把cvs上的bug修正
          if (andParameters != null) {
          QueryParam innerQueryParam = new QueryParam();
          for (String key : notParameters.keySet()) {
          .....
          }
          }
          queryParam.andParameter(innerQueryParam);
          }
          if (orParameters != null) {
          QueryParam innerQueryParam = new QueryParam();
          for (String key : notParameters.keySet()) {
          ... }
          queryParam.orParameter(innerQueryParam);
          }

          把這段中的notParameters.keySet() 改為相應(yīng)的
          andParameters.keySet())
          orParameters.keySet()   回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) 2006-07-23 13:40 李李
          已提交,謝謝  回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) 2009-01-12 10:03 heby
          垃圾  回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) [未登錄] 2009-08-24 21:40
          各位大俠
          哪位有上述博主提到的源代碼,請(qǐng)發(fā)給我一份
          在下不勝感激
          ldh199816@hotmail.com  回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) [未登錄] 2009-08-24 21:41
          @劉
          ldh19816@hotmail.com  回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) [未登錄] 2011-03-01 15:20
          87438194@qq.com
          各位大俠
          哪位有上述博主提到的源代碼,請(qǐng)發(fā)給我一份
          在下不勝感激
            回復(fù)  更多評(píng)論
            

          # re: 基于hibernate/spring的含RBAC權(quán)限模塊的快速開發(fā)框架(目前與webwork整合) 2011-03-03 12:02
          40736130@qq.com
          各位大俠
          哪位有上述博主提到的源代碼,請(qǐng)發(fā)給我一份
          在下不勝感激
            回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 云阳县| 麻江县| 丰宁| 班玛县| 茶陵县| 花莲县| 临澧县| 葫芦岛市| 宜丰县| 新昌县| 岳西县| 双鸭山市| 德化县| 阜平县| 抚宁县| 湘潭市| 忻州市| 乌鲁木齐县| 望谟县| 磐石市| 卢氏县| 汉阴县| 浙江省| 兴文县| 镇坪县| 葫芦岛市| 宜黄县| 淮滨县| 神农架林区| 枞阳县| 东海县| 巨野县| 田林县| 安龙县| 高密市| 洛阳市| 定兴县| 江孜县| 宜阳县| 平罗县| 开原市|