0

JSFに同等のphp echoがあるかどうか知りたいです。Bean から facelet に html を公開したいと思います。

これは、追加されたコンポーネントの 1 つをユーザーがクリックするたびに、3 つの異なる primefaces コンポーネントを追加したいためです。taglibs ではこれを達成できませんでした。

ありがとうございました

4

1 に答える 1

3

JSF の組み込みの XSS 防止によって混乱したと思います。これにより、「プレーン バニラ」HTML がエスケープされ、HTML ソースの一部として解釈されるのではなく、そのまま表示されます。あなたが PHP に精通していることを考えると、JSF では、htmlspecialchars()出力を出力するすべての EL 式で基本的に PHP がデフォルトで有効になっているということです。

暗黙的な HTML エスケープをオフにするには、属性を に設定して使用<h:outputText>するだけです。escapefalse

<h:outputText value="#{bean.html}" escape="false" />

ユーザー制御の入力に関係する場合は、ここで作成される XSS 攻撃の潜在的な穴を十分に認識してください。あなたの質問自体は、あなたがそれを知らなかったことをすでに示しています。

以下も参照してください。


具体的な機能要件としては、

これは、追加されたコンポーネントの 1 つをユーザーがクリックするたびに、3 つの異なる primefaces コンポーネントを追加したいためです。taglibs ではこれを達成できませんでした。

JSF コードは HTML コードではないことに注意してください。代わりに、これらの JSF コンポーネントをビューに直接記述し、rendered属性を使用してそれらを条件付きでレンダリングする必要があります。

于 2013-05-23T13:22:30.563 に答える