アプリケーションにフレームワークを使用する
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。
画面ナビゲーションフレームワークは、画面のJavaクラスとフロントエンドのタグライブラリの2つの部分で構成されています。 最初に必要なJavaクラスを作成してから、JSPを介してフロントエンドサポートを追加します。
アプリケーションのバックエンドに画面を追加する
少なくとも1つのナビゲーションカテゴリを作成する必要があります。 アプリケーションに画面を追加するには、まずトップレベルのナビゲーション用に少なくとも1つのナビゲーションカテゴリを追加する必要があります。 次に、必要なページごとにナビゲーションエントリを追加できます。
まず、ナビゲーションカテゴリを追加します
-
ScreenNavigationCategory
インターフェースを実装するコンポーネントを作成します。 -
コンポーネントに次のメソッドを実装します。
getCategoryKey()
:カテゴリーの主キーを返します。getLabel(Locale locale)
:キーのラベルを返します。getScreenNavigationKey()
:アプリケーションで定義されているように、カテゴリが属するナビゲーションキーを返します。
次に、ナビゲーションエントリを追加します。
-
ScreenNavigationEntry
を実装するコンポーネントを作成します。 -
コンポーネントに次のメソッドを実装します。
getCategoryKey()
:カテゴリーの主キーを返します。getEntryKey()
:エントリの主キーを返します。getLabel()
:エントリラベルを返します。getScreenNavigationKey()
:現在のエントリのカテゴリのナビゲーションキーを返します。isVisible(User user、T screenModelBean)
:現在のユーザーに対してエントリを表示するかどうかのブール値。render(HttpServletRequest request、HttpServletResponse response)
:エントリをレンダリングします。
レンダリングメソッドは、HTMLをレンダリングする方法を提供する限り、任意の方法で実装できます。 Liferay開発者は通常、以下に示すJSPを使用します。
アプリケーションのフロントエンドに画面を追加する
JSPを使用して画面をレンダリングするには、 render
メソッドで JSPRenderer
コンポーネントを呼び出し、HTMLをレンダリングするJSPを作成する必要があります。
-
次のように
JSPRenderer
を使用するrender
メソッドを作成します。@Override public void render(HttpServletRequest request, HttpServletResponse response) throws IOException { _jspRenderer.renderJSP(request, response, "/my-category/view-category.jsp"); }
-
クラスの下部に次のコードを追加して、参照アノテーションを使用して
JSPRenderer
にアクセスします。@Reference private JSPRenderer _jspRenderer;
-
liferay-frontend:screen-navigation
taglibと次のような必要なパラメーターを含むJSPを作成します。<liferay-frontend:screen-navigation key= "<%= AssetCategoriesConstants.CATEGORY_KEY_GENERAL %>" modelBean="<%= category %>" portletURL="<%= portletURL %>" />
パラメータが必要である キー
、 modelBean
、及び のPortletURL
。
-
キー:このアプリケーションのナビゲーションの一意の名前。
-
modelBean:レンダリングされているモデル
-
portletURL:各リンクのタイトルを作成するために使用されるポートレットURL。
次のセクションでは、より多くの画面で既存のLiferayクラスを拡張する方法について説明します。