バッキングビーンでは、Map<Integer,String>
プロパティを定義しました。 ELからxhtmlファイル内のマップにアクセスしようとすると、何も返されません。JSFの整数キーを使用したアクセスマップEL
<h:outputLabel value="#{bean.myMap[0]}">
は、0キーの値を返しません。
バッキングビーンでは、Map<Integer,String>
プロパティを定義しました。 ELからxhtmlファイル内のマップにアクセスしようとすると、何も返されません。JSFの整数キーを使用したアクセスマップEL
<h:outputLabel value="#{bean.myMap[0]}">
は、0キーの値を返しません。
ELはlong
タイプとしてあなたのリテラル数0
を解釈します(すべてではないインデックスが値を持っている)それはList<String>
で動作しますが、私は地図がまばらな配列のいくつかの種類を持っていると思います。 Map<Integer,String>
の代わりにMap<Long,String>
を試してください。
これは、あなたがおそらく何をしているかである。
myMap.put(Integer.valueOf(0), "SomeValue");
をこれは、ELは値を取り戻すために何をするかです:
String value = myMap.get(Long.valueOf(0));
私は同じ問題を抱えていたし、私がグーグルたとき、これを見つけました解決策。マップを変更するということは、自動生成されたコードなので、私の選択肢ではありませんでした。
私は管理Beanを作成しました:
<h:outputLabel value="#{bean.myMap.get(caster.toInt(0))}">
あなたは 'omnifaces'使用する必要があります:のhttp://showcase.omnifacesをその後、私は単純にされているだろうあなたのケースで何をした
を。 org/ –
ここではomnifacesのどのコンポーネントを使用できますか? –
[JSTLのキーによるマップ値へのアクセス]の可能な複製(http://stackoverflow.com/questions/924451/jstl-access-a-map-value-by-key) –