0

社内の他の開発者が使用する JSF 用の Facelet コンポーネントを作成しています。それらを支援するために、例のページが設定されています。ここでは、実際の例と、他のページでコピー、貼り付け、および変更するソース コードを確認できます。

属性でELを使用する方法の例を示す必要がありますが、次のような醜い回避策なしではELを文字列として出力することはできません

attribute="<h:outputText value="#"/>
<h:outputText value="{"/>
<h:outputText value="myExpression"/>
<h:outputText value="}"/>"

このように動作しますが、私にはかなり退屈に見えます。より無駄のない、よりクリーンな目標を達成するにはどうすればよいですか?

4

2 に答える 2

2

式言語仕様バージョン 2.2から :

文字シーケンス"${" またはを含むリテラル値を生成するため"#{"に、開発者は次に示すように複合式を使用することを選択できます。

${'${'}exprA}
#{'#{'}exprB}

結果の値は、文字列${exprA}とになり#{exprB}ます。

または、エスケープ文字 \$\#を使用して、そうでなければ eval-expression として扱われるものをエスケープすることができます。リテラル式を考えると:

\${exprA}
\#{exprB}
于 2013-05-30T10:24:05.293 に答える