xp:repeatコントロールのデータバインディングソースとして使用するsessionScope変数の変数名を計算したいと思います。リピートコントロールのセッションスコープ変数の変数名を計算する方法
ダイヤモンドが変数名を計算するのに気付いていません。おそらく別の方法で可能でしょうか?
xp:repeatコントロールのデータバインディングソースとして使用するsessionScope変数の変数名を計算したいと思います。リピートコントロールのセッションスコープ変数の変数名を計算する方法
ダイヤモンドが変数名を計算するのに気付いていません。おそらく別の方法で可能でしょうか?
理論上はそうでなければなりません。スコープ付き変数はマップです。 dominoDocumentデータソースは、同様の方法でオブジェクトとして機能します。document1.myField
は、document1.getValue("myField")
とdocument1.setValue("myField")
として実行されます。私は計算されたフィールド名にバインドする方法があることを知っている、私はカスタムコントロールでは、たとえば、フィールド名を渡すと考えてdocument1[#{compositeData.passedField)]
だろうと思う。したがって、スコープ付き変数へのバインディングの同様のプロセス - sessionScope[#{myComputedVariable}]
は、理論上は機能するはずです。
2つの方法がありますが、一方はもう一方の方法よりも優先されますが、名前は最終的な変数名を持つために文字列を連結する必要があります(あなたが繰り返しコントロール):
ELアプローチ
<xp:repeat value="#{something}" var="whatever">
<xp:text value="#{sessionScope[whatever]}" />
SSJSアプローチ
<xp:repeat value="#{something}" var="whatever">
<xp:text value="#{javascript:sessionScope.get('somePrefix' + whatever)}" />
2番目のアプローチの問題点は、入力フィールドの場合のみ、表示用に適切なデータバインディングを実行できないことです。
あなたが適切なデータバインディングが必要な場合は、私はお勧めしませんが、私はあなたの完全な絵を持っていません。あなたの文字列をつなぐバッキングビーン。