Strutsは、モデルビューコントローラー(MVC)デザインパターンを実装する、安定した、広く採用されているフレームワークです。 Liferay Portalの以前のバージョン用のStrutsポートレットがある場合は、Liferay DXP 7.1にアップグレードできます。
StrutsポートレットをLiferay DXP 7.1にアップグレードするのは、想像以上に簡単です。 Liferay DXPを使用すると、StrutsポートレットをJava EE Webアプリケーションとして引き続き使用できます。
このチュートリアルでは、Struts 1フレームワークを使用するポートレットをアップグレードする方法を説明します。
ファイル/フォルダの説明を含むサンプルStrutsポートレットのフォルダ構造を以下に示します。
sample-struts-portlet
docroot/
html/portlet/sample_struts_portlet/
→ JSPWEB-INF/
lib/
→ Liferay DXPシステムでは利用できない必須のサードパーティライブラリsrc/
com/liferay/samplestruts/model/
→ モデルクラスcom/liferay/samplestruts/servlet/
→ テストサーブレットとサーブレットコンテキストリスナーcom/liferay/samplestruts/struts/
action/
→ ビューページをクライアントに戻すAction
クラスform/
→ モデル相互作用向けのActionForm
クラスrender/
→ 追加のページを提示し、入力を処理するAction
クラスSampleException.java
→ 例外クラス
content/test/
→リソースバンドルMETA-INF/
→ Javadoc
tld/
→ タグライブラリ定義liferay-display.xml
→ アプリケーションカテゴリを設定liferay-plugin-package.properties
→ メタデータとポータルの依存関係を設定liferay-portlet.xml
→ 記述的なロール名をロールにマップliferay-releng.properties
→(内部)リリースプロパティportlet.xml
→ ポートレットとその初期化パラメーターおよびセキュリティロールを定義struts-config.xml
→ Struts設定tiles-defs.xml
→ Strutsタイル定義validation.xml
→ 検証用のフォーム入力を定義validation-rules.xml
→ Struts検証ルールweb.xml
→ Webアプリケーション記述子
build.xml
→ Apache Antビルドファイル
Struts 1ポートレットのアップグレードには、次の手順が含まれます。
-
Liferay Upgrade Plannerを使用して、ポートレットをLiferay DXP 7.1のAPIに適合させます。 プランナーのアップグレードの問題の修復ステップを実行する時、既存の事象の多くが自動修正されます。 残りの事象については、プランナーは新しいAPIの影響を受けるコードとそれを適合させる方法を特定します。
サンプルStrutsポートレットの依存関係を解決しました。 これでデプロイする準備ができました。
StrutsポートレットWebアプリケーションaRchive(WAR)をデプロイすると、Liferay DXPのWeb アプリケーションバンドル(WAB)ジェネレーターは、ポートレット用のOSGiモジュール(バンドル)を作成し、LiferayのOSGiフレームワークにそれをインストールします。 サーバーは、次のポートレット状態を示すメッセージを出力します。
- WAR processing
- WAB startup
- Availability to users
StrutsポートレットがLiferay DXPインスタンスで使用可能になりました。 Strutsポートレットは、Liferay DXP 7.1サイトの以前のバージョンと同じように動作します。
これで、StrutsポートレットをLiferay DXP 7.1\にアップグレードできました。