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)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 平顶山市| 务川| 革吉县| 松江区| 安顺市| 普兰店市| 南靖县| 威远县| 双鸭山市| 神木县| 大城县| 抚顺市| 安阳县| 宣汉县| 隆化县| 达拉特旗| 逊克县| 抚顺县| 安国市| 五峰| 贵定县| 六盘水市| 永顺县| 扶余县| 绥芬河市| 博客| 武隆县| 沙河市| 宁武县| 湘阴县| 广平县| 文山县| 宁海县| 敖汉旗| 崇仁县| 曲麻莱县| 洪泽县| 汝阳县| 南川市| 普安县| 沙河市|