有没有办法将变量传递给方法参数:
<h:commandButton value="Add to Order"
actionListener="#{orderBasket.addItems(currentItem.id)}"/>
由于某种原因,这似乎总是将0传递给方法。
答案 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。