Extプラグインでweb.xmlに追加する

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

決議

例として、Liferay Digital Enterprise の既存の web.xml ファイルに追加する Ext プラグインのサンプルを作成します (例えば、 /tomcat-[version]/webapps/ROOT/WEB-INF フォルダにあります)。 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(...) メソッドでシンプルなprint文を定義しました。

    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人がこの記事が役に立ったと言っています