如何在监听器中传递参数?

Ven*_*idu 0 jsf arguments el listener primefaces

我怎样才能将一个arugument传递给听众方法?

我试过这样的:

<p:poll interval="3" listener="#{vehicleController.onPoll('12')}"
    update="vehicleDataList"/>
Run Code Online (Sandbox Code Playgroud)

<p:poll interval="3" listener="#{vehicleController.onPoll(vehicle.vehicleLicense)}"
    update="vehicleDataList"/>
Run Code Online (Sandbox Code Playgroud)

但它抛出以下异常:

javax.servlet.ServletException: /monitorVehicles/vehiclesList.xhtml
Failed to parse the expression [#{vehicleController.onPoll('12')}]
Run Code Online (Sandbox Code Playgroud)

我怎么能得到这个?

Bal*_*usC 5

得到此异常"无法解析表达式[#{vehicleController.onPoll('12')}]"

您的环境不支持使用参数调用方法的新EL 2.2功能.

EL 2.2是Servlet 3.0的一部分,因此为了利用它,您需要使用Servlet 3.0兼容文件部署到Servlet 3.0兼容容器(例如Tomcat 7,Glassfish 3,JBoss AS 6等)web.xml.如果您没有部署到Servlet 3.0兼容容器,或者没有兼容Servlet 3.0 web.xml,那么您根本就不使用EL 2.2,您将获得此类异常.

如果您实际上是将目标/部署到Servlet 2.5兼容容器(因此使用EL 2.1),那么您可以使用JBoss EL在EL 2.1中具有类似EL 2.2的新功能.

也可以看看: