configRoute(ルートを指定)
このメソッドは、JFinal アクセス ルーティングを構成するために使用されます。次のコードは、「/hello」の HelloController コントローラーへのマッピングを構成します。次の構成を通じて、http://localhost/hello は HelloController.index() メソッドにアクセスします。 http ://localhost/hello/methodName は HelloController.methodName() メソッドにアクセスします。
{ me.add("/hello",
HelloController.class);
Routes クラスには主に次の 2 つのメソッドがあります:
public Routes add(StringcontrollerKey 、クラス<? extends Controller>
controllerClass, String viewPath)
public Routes add(StringcontrollerKey, Class<? extends Controller>
controllerClass)
最初パラメータのcontrollerKeyは、コントローラにアクセスするために必要な文字列を指します。この文字列は、コントローラにのみ対応します。 2 番目のパラメーターcontrollerClass は、controllerKey に対応するコントローラーです。 3 番目のパラメータ viewPath は、コントローラによって返されるビューの相対パスを参照します (このパラメータの具体的な詳細については、コントローラの関連する章で説明します)。 viewPath が指定されていない場合のデフォルト値は、controllerKey です。
JFinal ルーティング ルールは次のとおりです:
表からわかるように、JFinal は正確なアクションにアクセスするときに、controllerKey とメソッドを使用して正確に位置を特定する必要があります (アクションについてはセクション 3.2 を参照)定義)。メソッドを省略した場合、デフォルト値はインデックスです。 urlPara は URL でパラメータ値を運ぶためのものです。urlPara は 1 つのリクエストで同時に複数の値を運ぶことができます。JFinal はデフォルトでマイナス記号 "-" を使用して複数の値を区切ります (区切り文字は で設定できます)。 constants.setUrlParaSeparator(String))、Controller では、これらの値は getPara(intindex) を通じて個別に取得できます。 controllerKey、method、urlPara の 3 つの部分はスラッシュ「/」で区切る必要があります。 「/admin/article」のように、controllerKey 自体にスラッシュ「/」を含めることもできます。これは、基本的に struts2 の名前空間関数を実装します。
public void login()
{ render("login.html");
}
UserControllerのcontrollerKey値が「/user」であると仮定します。 @ActionKey("/login")アノテーションを使用した後、actionKeyは元の「/user/login」から「/login」に変更されます。このアノテーションにより、「/user/123-456」のように、マイナス記号や数字などの文字を actionKey で使用することもできます。
JFinal ルーティングは分割して構成することもできるため、大規模なチーム開発に特に役立ちます。コード例を次に示します。
public void config(){
add(" /", IndexController.class);
add("/blog", BlogController.class);
}
}
public void config(){
add("/admin",AdminController.class);
add("/admin/user", UserController.class);
}
}
publicvoid configRoute(Routesme)
{ me.add(new FrontRoutes()) // フロントエンドルーティング
me.add(new AdminRoutes());ルーティングを終了します
}
public void configConstant(Constantsme) {}
public void configPlugin(Pluginsme) {}
public void configInterceptor(Interceptorsme) {}
public void configHandler (Handlersme) {}
}
上記の 3 つのコード部分に示されているように、FrontRoutes クラスはシステムのフロントエンド ルーティングを構成し、AdminRoutes はシステムのバックエンド ルーティングを構成し、 MyJFinalConfig.configRoute(...) メソッドは、2 つの分割されたルートをマージします。この分割構成を使用すると、MyJFinalConfig ファイルがより簡潔になるだけでなく、大規模なチーム開発が容易になり、複数の人が同時に MyJFinalConfig を変更するときのバージョンの競合が回避されます。