如何将方法参数传递给getter?

wut*_*aer 3 parameters jsf el

我想使用一个datalist

<rich:dataList value="#{bean.itemsOnLevel}" var="item">
   <h:outputText value="#{item.value}" />
</rich:dataList>
Run Code Online (Sandbox Code Playgroud)

但我的吸气者需要一个参数

public List getItemsOnLevel(int level);
Run Code Online (Sandbox Code Playgroud)

我该如何通过关卡?

Bal*_*usC 6

如果你已经web.xml在你的webapp中使用与Servlet 3.0兼容的Servlet 3.0兼容容器(Tomcat 7,Glassfish 3,JBoss 6等),那么你可以使用带参数的新方法调用方法:

<rich:dataList value="#{bean.getItemsOnLevel(1)}" var="item">
   <h:outputText value="#{item.value}" />
</rich:dataList>
Run Code Online (Sandbox Code Playgroud)

但是,如果你的目标是旧的Servlet 2.5兼容容器(Tomcat 6,Glassfish 2,JBoss 4/5等),那么你最好的办法是安装JBoss EL来实现同样的目标.有关详细信息,请参阅此答案:在EL中调用带参数/变量/参数的直接方法或方法