Есть ли способ передать переменную в метод param:
<h:commandButton value="Add to Order" actionListener="#{orderBasket.addItems(currentItem.id)}"/>
По какой-то причине в метод всегда входит 0.
Это возможно только при использовании action вместо actionListener
action
actionListener
<h:commandButton value="Add to Order" action="#{orderBasket.addItems(currentItem.id)}"/>
и вы используете контейнер с сервлетом 3.0 / EL 2.2 (Tomcat 7, Glassfish 3, JBoss 6 и т. Д.) и ваш web.xml объявлен соответствующим сервлету 3.0 spec со следующим корневым объявлением
web.xml
<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 другой, поддерживающей это, например, JBoss EL. Подробнее см. этот ответ .