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

时间:2012-02-06 15:41:43

标签: jsf parameters el

我想使用数据列表

<rich:dataList value="#{bean.itemsOnLevel}" var="item">
   <h:outputText value="#{item.value}" />
</rich:dataList>

但我的getter需要一个参数

public List getItemsOnLevel(int level);

我怎样才能通过关卡?

1 个答案:

答案 0 :(得分:6)

如果您已经在Web应用程序中使用与Servlet 3.0兼容web.xml的Servlet 3.0兼容容器(Tomcat 7,Glassfish 3,JBoss 6等),那么您可以使用新的EL 2.2使用参数调用方法的功能:

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

如果您定位旧的Servlet 2.5兼容容器(Tomcat 6,Glassfish 2,JBoss 4/5等),那么最好的办法是安装JBoss EL来实现相同目标。有关详细信息,请参阅此答案:Invoke direct methods or methods with arguments / variables / parameters in EL