1

私は内側に を持っ<p:dataTable var="object">ています。<p:commandLink>私の Bean には、Map値を表示したい があります<p:commandLink value>。と を連結したこのマップにキーを渡す必要が"someString"あり#{object.firstName}ます。私はこれがうまくいくようにしたい:

value="#{bean.map['someString'+object.firstName]}"

どうすればこれを達成できますか?

4

2 に答える 2

2

EL で文字列を連結するには、文字列と EL 式をインライン化して新しい EL 変数を作成します。そのために使えます<c:set>

<c:set var="key" value="someString#{object.firstName}" />
<p:commandLink value="#{bean.map[key]}" ... />

または、直接メソッドの呼び出しをサポートしている EL 2.2 を使用している場合は、String#concat()メソッドを直接利用できます。

<p:commandLink value="#{bean.map['someString'.concat(object.firstName)]}" ... />

まだ EL 2.2 を使用していないが、EL 2.1 を使用している場合は、いつでもJBoss ELをインストールして同じ機能を使用できます。

于 2013-08-13T18:17:55.843 に答える