JSPのカスタマイズ

ポートレットおよびコア内のJSPをカスタマイズする方法はいくつかあります。 Liferay DXPのAPIでは、それらをカスタマイズする最も安全な方法を提供しています。他の方法でJSPをカスタマイズした場合、JSPの新しいバージョンではカスタマイズが無効になり、実行時エラーが発生する可能性があります。APIベースの方法のいずれかを使用することを強くお勧めします。

LiferayのAPIを使用してJSPをオーバーライドする

Liferay DXPのJSPをオーバーライドするAPIベースのアプローチは次のとおりです。

アプローチ説明短所/制限
動的インクルード動的インクルードタグでコンテンツを追加します。dynamic-includeタグ(またはクラスがIncludeTagから継承しているタグ)を持つJSPに限定されます。動的インクルードタグでJSPにのみコンテンツを挿入します。
ポートレットフィルターポートレットのリクエストやレスポンスを変更して、JSPカスタマイズをシミュレートします。このアプローチではJSPは直接カスタマイズされませんが、JSPカスタマイズの効果は得られます。

LiferayのAPIを使用せずにJSPをオーバーライドする

前のセクションで説明したように、Liferay DXPのAPIを使用してJSPをカスタマイズすることを強くお勧めします。OSGiフラグメントまたはカスタムJSPバッグを使用したJSPのオーバーライドはAPIに基づいていないため、それらが正常に失敗する保証はありません。その代わり、カスタマイズにバグがある場合(コードやLiferayの変更のせいで)、ほとんどの場合は実行時に、機能が壊れたり、厄介なログエラーが表示されたりすることで気付くはずです。これらのアプローチは、最後の手段としてのみ使用してください。

これらのアプローチのいずれかを使用するJSPカスタマイズを維持している場合は、それらの動作を知っておく必要があります。このセクションでは、アプローチとそれらのチュートリアルへのリンクについて説明します。

Liferay DXPのAPIを使用せずにJSPをカスタマイズする方法は次のとおりです。

アプローチ説明短所/制限
OSGiフラグメントOSGiフラグメントを使用してモジュールのJSPを完全にオーバーライドします元のJSPまたはモジュールを変更すると、ランタイムエラーが発生する可能性があります。
カスタムJSPバッグLiferay DXPのコアJSPまたは対応する-ext.jspファイルの1つを完全にオーバーライドします。Liferay DXPのコアJSPのみ。元のJSPまたはモジュールを変更すると、ランタイムエラーが発生する可能性があります。

すべてのJSPカスタマイズアプローチを使用できます。いくつかのJSPをカスタマイズしてみましょう。

« カスタマイズ動的インクルードを使用したJSPのカスタマイズ »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています