public String greeting(String gtr) {
return "Hello " + gtr;
}
然后从jsf页面我们可以将此函数称为
<h:outputLabel value="#{greetingBean.greeting['some-name']}"
现在我的问题是我想从同一个bean类中传递动态参数而不是像value="#{greetingBean.greeting[greetingBean.name]}
这样的'some-name'吗?
我需要这个,因为我在Map<String, ArrayList>
中有值并且想要编辑特定的ArrayList值吗?
有什么建议吗?
答案 0 :(得分:2)
括号用于替换点符号。也就是说,
#{greetingBean.greeting['some-name']}
与
相同#{greetingBean.greeting.some-name}
因此,不会调用greeting
方法。相反,JSF将尝试访问greeting
属性,然后尝试访问some-name
属性返回的对象的greeting
属性。也就是说,上面的代码已经产生了错误。
如果您正在使用EL 2.2并想要调用某个操作,只需输入:
#{greetingBean.greeting('some-name')}
或
#{greetingBean.greetingThatReceivesAMap(greetingBean.name)}