【发布时间】:2014-05-05 07:11:00
【问题描述】:
正如@BalusC 在这里指出的How to pass an iterated parameter via ajax to a backing bean method,可以在EL 中将整个对象作为参数传递。
在 JSF2 中,使用 action=#{bean.method(object)} 有效,但我不明白如何。
各种版本的 JSF (JSF doc) 的文档都这样说 action 属性:
表达式必须计算为不带参数的公共方法
那么为什么action=#{bean.method(object)} 有效?
是否可以使用这种技术,或者在未来的版本中无法使用?
编辑:
另外,正如@vasil-lukach 所说,EL 的文档允许这样做。其实正如(EL doc)所说,有了EL2.2,就可以使用:
<h:commandButton action="#{trader.buy('SOMESTOCK')}" value="buy"/>
这两个规范是否一致?
【问题讨论】:
-
它不适用于 JSF2,但适用于 EL2.2。用 JSF 2.1 和 EL2.1 试试,你会看到错误。
-
谢谢@VasilLukach。在 EL2.2 docs.oracle.com/javaee/6/tutorial/doc/bnahu.html#gjhbz 中,他们甚至在
action中使用了带有参数化调用的示例。那么这两个标准是一致的吗?