Extプラグインを使用したweb.xmlへの追加

Liferay DXPでExtプラグインを使用するためにサポートされている使用例は、Liferay Digital Enterpriseの web.xml ファイルに機能を追加することです。 開始する前に、Ext Plugins による一般化された カスタマイズチュートリアルを確認してください。

解決

例として、Liferay Digital Enterpriseの既存の web.xml ファイル(たとえば、 / tomcat-[version]/ webapps / ROOT / WEB-INF フォルダー内)に追加するサンプルExtプラグインを作成します。 Liferay Digital Enterpriseの起動時に、コンソールに新しいプリントアウトを追加します。

  1. Plugins SDKの / ext フォルダーに移動し、次のコマンドを実行します。

    create.[bat|sh]  add-printout "Add Printout"
    

    Extプラグインが生成され、Plugins SDKの / ext フォルダーに、指定した名前の後に -ext (例: add-printout-ext)が付けられます。

  2. Liferay Digital Enterpriseインストールが web.xml新機能を認識するためには、 ServletContextListener インターフェースを実装するクラスを作成する必要があります。 このクラスは、新しい機能を追加するサーブレットコンテキストイベントを初期化します。 / docroot / WEB-INF / ext-impl / src フォルダーに、新しいクラスを配置するパッケージ名を表すフォルダー構造を作成します(例: com / liferay / portal / servlet / context)。 次に、新しいJavaクラスを作成します。

    package com.liferay.portal.servlet.context;
    
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    
    public class ExtAddEntryWebXmlPortalContextLoaderListener
            implements ServletContextListener {
    public void contextDestroyed(ServletContextEvent servletContextEvent) { } public void contextInitialized(ServletContextEvent servletContextEvent) { System.out.println("EXT_ADD_ENTRY_WEBXML_INSTALLED_SUCCESSFULLY"); } 

    上記のクラスには、サーブレットコンテキストイベントを初期化および破棄する2つのメソッドが含まれています。 ポータルコンテキストの初期化時に、新しい web.xmlの機能を必ず追加してください。 Extプラグインのインストールを検証するプリントアウトを追加するために、単純な印刷ステートメントが contextInitialized(...) メソッドで定義されました

    System.out.println("EXT_ADD_ENTRY_WEBXML_INSTALLED_SUCCESSFULLY");
    
  3. サーブレットコンテキストイベントを定義したので、それをリスンする web.xml リスナーを追加する必要があります。 docroot / WEB-INF / ext-web / docroot / WEB-INF フォルダーで、デフォルトで生成された web.xml ファイルを開きます。

  4. タグの間に次のタグを追加します。

    <listener>
        <listener-class>com.liferay.portal.servlet.context.ExtAddEntryWebXmlPortalContextLoaderListener</listener-class>
    </listener>
    

優秀な! Extプラグインがデプロイされると、Liferay Digital Enterpriseのインストールにより、 ServletContextListener インスタンスが作成され、カスタムサーブレットコンテキストイベントが初期化されます。 このイベントは web.xml ファイルによって認識され、Liferay Digital Enterpriseインストールに新しい機能が追加されます。 サーバーへのExtプラグインのデプロイについては、「 プラグイン デプロイ」セクションの指示に従ってください。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています