java學習

          java學習

           

          jfinal筆記2

          基于JFinal 的web項目需要創建一個 繼承自 JFinalConfig類的 子類 ,該類用 于對整個  web項目進行配置 項目進行配置 。
          JFinalConfig 子類需要實現 五個抽象方法 ,如:
          public class DemoConfig extends JFinalConfig {
          public void configConstant(Constants me) {}
          public void configRoute(Routes me) {}
          public void configPlugin(Plugins me) {}
          public void configInterceptor(Interceptors me) {}
          public void configHandler(Handlers me) {}
          }

          configConstant
          此方法用來配置 JF inal 常量 值,如開發模式 devMode 的配置,默認 視 圖類型 ViewType 的配置 的配置 ,如下 代碼 配置了 JFinal 運行在開發模式下且默認視圖 類型為 JSP:
          public void configConstant(Constants me) {
          me.setDevMode(true);
          me.setViewType(ViewType.JSP);
          }


          在開發模式下 ,JFinal會對每次 請求輸出報告,如本會對每次 請求輸出報告,如本請求的 Controller、 Method 以及請求所攜帶的參數。 以及請求所攜帶的參數。JFinal 支持 JSP 、 FreeMarker、Velocity三種常 用視圖 。
          configRoute
          此方法用來配置 JF inal 訪問 路由  ,如下 代碼 配置了 將 ”/hello” 映射到 HelloController  這個控制器 , 通過以下的配置,http://localhost/hello將訪問HelloController.index()方法,而
          http://localhost/hello/other將訪問到HelloController.other()方法.
          字符串與控制類的映射是:
          public void configRoute(Routes me) {
          me.add("/hello", HelloController.class);
          }
          Routes 類主要 有如下 兩個 方法:
          public Routes add(String controllerKey, Class<? extends Controller> controllerClass, String viewPath)
          public Routes add(String controllerKey, Class<? extends Controller> controllerClass)


          第一個參數 controllerKey是指訪問某個 Controller所需要的一個字符串 ,該 字符串唯一對應個 Controller,controllerKey僅能定位到 僅能定位到 Controller。第二個參 數 controll er Class 是該 controllerKey所對應 到的 Controller。第三個參數 view Path 是指 該 Controller返回的視圖  的相對路徑。當 view Path未指定時默認值為 controllerKey。
          1.當url是http://localhost/controllerKey時,調用的是對應控制類的index()方法;
          當需要傳參數時,url這樣寫:http://localhost/controllerKey/a-b-c,參數之間用中橫線分開,
          index()方法中調用getPara(i)得到參數,i是參數對應的下標,例如a的下標是0,b的下標是1,c的下標是2.
          2.當url是http://localhost/controllerKey/method時,調用的是對應控制類的method()方法;
          3.
          JFinal 在以上路由 規則之外 還提供了 ActionKey注解, 可以打破 原有 規則, 以下是代碼示例 :
          public class HelloController extends Controller{
              @ActionKey("second")
              public void second(){
                  System.out.println("0="+getPara(0));
                  System.out.println("1="+getPara(1));
                  System.out.println("2="+getPara(2));
                  renderText("yjw");
              }
          }
          這樣url可以寫成http://localhost/second/1-2-3,不用寫控制類的映射了。
          4.
          如果以上所有路由規則都不能滿足需求,開發者還可根據要使用 Handler定制更加個性化的路由,大體思就是在Handl er 中改變第一個參數 String target的值。

          posted on 2013-01-08 15:45 楊軍威 閱讀(3767) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 枝江市| 贵阳市| 那曲县| 新巴尔虎右旗| 阳江市| 深泽县| 大悟县| 彭阳县| 讷河市| 潍坊市| 龙州县| 连平县| 南雄市| 五河县| 锦州市| 邯郸县| 潞城市| 元江| 凤冈县| 吉安市| 南皮县| 浦县| 永春县| 丰台区| 登封市| 乌拉特后旗| 平遥县| 古田县| 岚皋县| 抚顺县| 永新县| 阳山县| 同德县| 星座| 嵊泗县| 秭归县| 金沙县| 夹江县| 昭平县| 鹤山市| 上饶市|