legacy-knowledge-base
公開されました Jun. 30, 2025

ウェブコンテンツのテキストフィールドのアンパサンドが、コンテンツページの &。

written-by

Tímea Bihari

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

    1. 次のような関連するテンプレートで構造例を作成する:

    <#ftl output_format="HTML"オートエスケープ=false> <p>-----------------</p> これははエスケープされるべきではありません: ${'&'} <p>-----------------</p>
    This should be escaped as: ${'&'?esc}
    1. 作成した構成とテンプレートで記事を作成する。

    2. Webコンテンツ表示ポートレットでコンテンツページを作成し、作成した記事を選択します。

    3. ウィジェット・ページでも同じことをする。

    4. 各ページのソースコードを見る

結果コンテンツページのHTMLでは、文字は常にエスケープされます:

<p>-----------------</p> これははエスケープすべきではない: &アンプ; <p>-----------------</p> これはとしてエスケープする必要があります。: &アンプ;

環境

  • Liferay 7.4 U44+
  • 四半期リリース

解像度

  • この動作は、現在のコンテンツページの制限です。
  • コンテンツページは、フラグメントのレンダリング時にJSoupライブラリを使用します。 JSoupのデモページで、解析された"&"文字を見ることができます。
  • 残念ながら、JSoupはアンパサンド文字を解析しないように設定することはできません。
  • 私たちはこの機能リクエストの下で可能な解決策を分析しています::LPD-252.
  • とりあえず、この問題を回避するために、アンパサンドを含まないフレンドリーなURLを生成することをお勧めします。

追加情報

  • 既知のセキュリティ脆弱性のため、JSoup ライブラリをアップグレードする必要がありました:LPE-17625
  • 新しいライブラリはUpdate 44で導入されたため、このUpdateの前後で動作が異なる可能性があります。
did-this-article-resolve-your-issue

legacy-knowledge-base