使用表达式从map获取第一个值

时间:2014-01-31 09:46:16

标签: java jsf jsf-1.2

我试图按照

获取地图的第一个值
TreeMap<String, String> myMap = new TreeMap<String, String>();
myMap.put("key1","value1");
myMap.put("key2","value2");
String first = myMap.firstEntry().getValue();
String firstOther = myMap.get(myMap.firstKey());

它为我写作Java

同样我在jsf中使用表达式,如下面的

${criterion.variableBindings.firstEntry.getValue()} 

在这种情况下,我没有得到价值。

2 个答案:

答案 0 :(得分:1)

您正在尝试调用方法 firstEntry,因此您需要使用方法调用语法,该语法在方法名称后面有括号:

${criterion.variableBindings.firstEntry().getValue()} 

如果方法已命名为getFirstEntry,您也可以将其作为属性访问,但由于它不以get开头,因此您需要将其作为方法访问。

答案 1 :(得分:1)

请##作为bean类的调用方法或变量..

#{criterion.variableBindings.firstEntry.getValue()}

如果你没有得到上面的

在bean类setter中创建一个变量,getter然后在jsf文件中访问该变量。

在bean中

 private String  first ;  
 first = myMap.firstEntry().getValue();
 //setterand getter

在jsp中

#{bean.first}