jsf 2方法参数动作监听器

时间:2011-05-11 21:16:49

标签: methods jsf-2 parameter-passing el

有没有办法将变量传递给方法参数:

 <h:commandButton value="Add to Order" 
 actionListener="#{orderBasket.addItems(currentItem.id)}"/>

由于某种原因,这似乎总是将0传递给方法。

1 个答案:

答案 0 :(得分:2)

只有在使用action instead of actionListener

时才有可能
<h:commandButton value="Add to Order" 
    action="#{orderBasket.addItems(currentItem.id)}"/>

您正在运行支持Servlet 3.0 / EL 2.2的容器(Tomcat 7,Glassfish 3,JBoss 6等)您的web.xml是使用以下根声明声明符合Servlet 3.0规范

<web-app
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">

如果后两种情况不符合你的情况(例如你正在使用Servlet 2.5),那么你需要用另一个支持它的EL实现替换EL实现,例如JBoss EL。有关详细信息,请参阅this answer