レンダーシリーズメソッド


render シリーズ メソッドは、さまざまなタイプのビューをレンダリングし、クライアントに返します。 JFinal で現在サポートされているビュー タイプは、
FreeMarker、JSP、Velocity、JSON、File、Text、Html などです。 JFinal でサポートされるビュー タイプに加えて、Render 抽象クラスを継承することでビュー タイプを無限に拡張することもできます。


通常、Controller.render(String) メソッドを使用してビューをレンダリングします。 setViewType(ViewType) で決定します。この設定メソッドでサポートされる ViewType は、FreeMarker、JSP、および Velocity です。構成が実行されない場合、デフォルトの構成は FreeMarker です。 さらに、

constants.setMainRenderFactory(IMainRenderFactory) を通じて、Controller.render(String) によって使用されるビューを設定することもできます。IMainRenderFactory は、FreeMarker に加えて、Controller.render(String) メソッドを拡張するために特別に使用されます。 、JSP、および Velocity の外側のビュー。


JFinalConfig.configRoute(Routes Routes) に次のコントローラー マッピング設定があるとします:routes.add(“/user”, UserController.class, “/path”), render(String view) 使用例:


その他のレンダリングメソッドの使用例: QQ截图20170206102243.png



注: QQ截图20170206102250.png

QQ截图20170206102257.png2: renderError メソッドを除いて、プログラムは render 一連のメソッドを呼び出した後すぐには戻りません。すぐに戻る必要がある場合は、return ステートメントを使用する必要があります。 render メソッドがアクション内で複数回呼び出された場合、最後のメソッドのみが有効です。 1: IE は、contentType を application/json としてサポートしません。Ajax がファイルをアップロードした後に json が返された場合、IE はファイルをダウンロードするように求めるメッセージを表示します: render(new JsonRender().forIE()) または render。 (新しい JsonRender(params ).forIE())。この状況は IE ブラウザーの Ajax ファイルのアップロードでのみ発生し、他の通常の Ajax リクエストは無視されます。