動的 HTML を jsf ページに投稿しようとしていますが、出力テキスト タグで escape="false" と指定してもエスケープされます。
私はprimefaces 3.4.2 Tomcat 7.0.22.0を使用しています
JSF ページ:
<p:tabView id="editableArticleTabs" dynamic="true" cache="true" rendered="#{articleBean.allowEdit}">
<p:tab id="readArticleTab" title="Read">
<div class="article">
<h1 class="title">#{articleBean.article.name}</h1>
<div class="byline"> by #{articleBean.article.creator.username} </div>
<blockquote class="summary">
<h2>Summary:</h2>
<h:outputText value="#{articleBean.article.summary}" escape="false" />
</blockquote>
<div class="textBody">
<p><h:outputText value="#{articleBean.article.body}" escape="false" /></p>
</div>
</div>
</p:tab>
</p:tabView>
私は何を間違っていますか?それはすべてを逃れています。
また、getter メソッドの System.out.printline にテキストを出力するので、エスケープされた状態でデータベースに格納されていないことを確認できます。
編集:わかりました、これがキッカーです。タブからテキストを取り出してみると、うまくいきます。しかし、タブ内で動作させるには本当に必要です。
最終編集:それは私の悪いことでした。コードの 2 つのコピーがあり、1 つはタブ内でレンダリングされ、もう 1 つはそれなしでレンダリングされました。「編集可能性」に応じて条件付きレンダリングがありました。私はエスケープフラグを一方に設定し、もう一方には設定しませんでした。大失敗。申し訳ありませんが、その人々の試合。