2011-05-28 5 views
1

私はリストからオブジェクトを提供するデータテーブルを持っています。このデータテーブルでは、フィールドの名前を表す文字列をリストから提供するp:columns(primefaces)のようなタグを使用したいと考えています。Java Unified Expression Languageサブ式

私は今のようなダイナミックなフィールド名を使用できるように部分式が必要になります。

#{entry.#[column.fieldName}} 

はJSF2でこれを行うにはどんな可能性はありますか?

答えて

2

エントリにカラム値の取得/設定アクセサがある場合、この構文を使用できます。

あなたがオブジェクトの「姓」プロパティの値にアクセスするための2つの構文を使用することができるELで
#{entry[column.fieldName]} 

#{myObject.lastname} 
#{myObject["lastname"]} 

あなたはJSPIntro at oracle.com

+0

に見てみることができます私はあなたを持っています何かのようなものがありました。それはうまくいっていました。確かに分かりませんでした。なぜなら、サブ表現という用語はリファレンスには言及されていません。 –

-1

いいえ、ELはそのようには機能しません。 getField()は、指定された名前のフィールドにアクセスするために(おそらくPropertyDescriptor経由)リフレクションを使用する方法である

#{entry.getField(column.fieldName)} 

:あなたが希望する機能はこのことだろう達成するために何ができるか

。しかし、これはEL 2.2の機能なので、Tomcat 7で提供されているような非常に最近のEL実装が必要です。

関連する問題