【发布时间】:2026-02-16 20:35:02
【问题描述】:
有没有办法将变量传递给方法参数:
<h:commandButton value="Add to Order"
actionListener="#{orderBasket.addItems(currentItem.id)}"/>
由于某种原因,这似乎总是将 0 传递给方法。
【问题讨论】:
标签: methods jsf-2 parameter-passing el
有没有办法将变量传递给方法参数:
<h:commandButton value="Add to Order"
actionListener="#{orderBasket.addItems(currentItem.id)}"/>
由于某种原因,这似乎总是将 0 传递给方法。
【问题讨论】:
标签: methods jsf-2 parameter-passing el
只有当你使用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 实现替换为另一个支持它的实现,例如 JBoss EL。详情请见this answer。
【讨论】: