使用JSF EL中的整数键访问映射

Bjö*_*ser 6 jsf el jsf-2

在一个支持bean中,我定义了一个Map<Integer,String>属性.当试图从xhtml文件中的EL访问地图时,我得不到任何回报.

<h:outputLabel value="#{bean.myMap[0]}">
Run Code Online (Sandbox Code Playgroud)

不返回键0的值.使用String键可以工作.

它适用于a List<String>,但我希望Map有一些稀疏数组(并非所有索引都有值)

NIN*_*OOP 7

EL将您的文字编号解释0long类型.尝试一个Map<Long,String>而不是Map<Integer,String>.

这是你应该做的:

myMap.put(Integer.valueOf(0), "SomeValue"); 
Run Code Online (Sandbox Code Playgroud)

这就是EL为了取回价值而做的事情:

String value = myMap.get(Long.valueOf(0));
Run Code Online (Sandbox Code Playgroud)