我想通过将属性传递给在支持 bean 中实现的方法来在 jsf 屏幕中显示文本。我必须将动态值作为属性传递。我尝试了下面的内容,但它似乎是一个不正确的语法 -
<h:outputText value="#{getValue(#{item.product}).component.address}" />
除了语法错误(你永远不能像 as 这样嵌套 EL 表达式#{#{}}
),以下内容在 EL 2.2 中有效,而 EL 2.2 又是 Servlet 3.0 / Java EE 6 的一部分:
<h:outputText value="#{bean.getValue(item.product).component.address}" />
因此,如果您有一个 Servlet 3.0 兼容的目标运行时(Tomcat 7、Glassfish 3、JBoss 6 等)以及 Servlet 3.0 兼容的web.xml
,那么您可以使用这样的参数调用非 getter 方法。
但是,根据您的问题历史记录,您正在使用 JSF 1.2,并且您很有可能还针对上述内容无法工作的较旧容器。如果它是 Servlet 2.5 容器,那么您可以使用JBoss EL http://docs.jboss.org/seam/latest/reference/en-US/html/elenhancements.html让这个 EL 语法起作用。
也可以看看:
- 在 JSF 1.2 中通过 EL 调用带参数的方法 https://stackoverflow.com/questions/8325298/invoking-methods-with-parameters-by-el-in-jsf-1-2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)