JARファイルを再デプロイすると、Taglibが例外をスローする。

問題

  • JARファイルを再展開すると、taglibが freemarker.template.TemplateModelException エラーを投げる。
  • 再現するための手順
    1. サーバーを起動する
    2. サイトメニューに移動する> コンテンツ & データ > ブログ
    3. 新しいブログを作成し、サイトメニュー > デザイン > テンプレート > ウィジェットテンプレート
    に移動します 4. プラスアイコンをクリックし、「Asset Publisher」(Taglib testという名前)を選択し、以下のコードを追加します:

    <#if entries?has_content>
    <#list entries as curEntry>
    <#assign assetRenderer=curEntry.getAssetRenderer() 
    viewURL=assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, curEntry,
    !stringUtil.equals(assetLinkBehavior, "showFullContent" ))
    curBlogEntry=assetRenderer.getAssetObject() /> <h1>${curEntry.title}</h1>
    <@liferay_ratings["ratings"]
    className="com.liferay.blogs.model.BlogsEntry"
    classPK=curBlogEntry.getEntryId()
    /> </#list>
    </#if>


    5. サイトビルダー > ページ
    に移動する 6. 白紙のページを作成します。 次に、作成されたページに移動し、「Asset Publisher portlet'」をドロップします。
    7. Asset Publisherの設定に移動(カーソルを合わせると右上に)
    8. セットアップタブで「資産選択」タブを選択します。
    9. 資産選択として「Dynamic' 」を選択
    10. 資産タイプとして「ブログエントリー」を選択し、「保存」をクリックします
    11. 設定タブで、 「ディスプレイ設定」
    12.を選択します。 表示テンプレート「Taglib test」を選択し、「Save」をクリックする
    13. ブログタイトルは、Taglib
    14の情報とともに表示されます。 com.liferay.ratings.taglib.servlet.taglib.RatingsTag クラスに空行または System.out.ptintln() を1行追加し、ratings-taglib モジュールをマスターからデプロイします。
    15. デプロイに成功した後 Asset Publisherがあるページに戻り、FreeMarkerのエラーメッセージが表示される。

    期待される動作: Taglibは問題なく動作するはずです。
    観測された動作: Taglib は FreeMarker エラーを投げる。

Environment

  • Liferay DXP 7.4

解決策

  • 観測された動作は、Liferay DXP 7.4 update 79に既に含まれている LPS-183229 によって対処された既知のバグです。

追加情報

  • Hotfixが必要な場合は、パッチの詳細を添付して、Hotfixを要求するサポートチケットを作成してください。
  • Liferay DXPへのFix PackとHotfixのインストール では、お客様の環境でのFixpack/Hotfixのインストール方法をご案内しています。
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています