ui:param - 传递方法参数
ui:param - passing method arguments
我有两个 xhtml 文件,一个包含另一个。我已经知道如何将要调用的控制器和方法传递给对话框,但我不确定是否可行,实际上是将 arguments/objects 传递给将要调用的方法。我试过这样的东西,但 Eclipse 告诉我这部分有语法错误
actionListener="#{bean[confMethod(param1, param2)]}"
但只是
没有任何问题
actionListener="#{bean[confMethod]}"
file1.xhtml:
<ui:composition>
.....
<ui:include src="/jsf/include/dg_confirm.xhtml">
<ui:param name="bean" value="#{myController}" />
<ui:param name="question" value="Are you sure?" />
<ui:param name="confMethod" value="myMethod" />
<ui:param name="param1" value="#{otherController.param1}" />
<ui:param name="param2" value="#{urlToFollow}" />
</ui:include>
</ui:composition>
和对话框
dg_confirm.xhtml
....
<p:commandButton value="Yes" oncomplete="PF('dlg_conf').hide();" actionListener="#{bean[confMethod(param1, param2)]}" ajax="false"/>
.....
问题:是否可以在 JSF 中以某种方式为方法传递参数?
actionListener="#{bean[confMethod(param1, param2)]}"
此语法确实无效。您基本上期望 confMethod
是一个静态函数,它 returns 基于给定两个参数的动态方法的名称。
正确的语法如下:
actionListener="#{bean[confMethod](param1, param2)}"
我有两个 xhtml 文件,一个包含另一个。我已经知道如何将要调用的控制器和方法传递给对话框,但我不确定是否可行,实际上是将 arguments/objects 传递给将要调用的方法。我试过这样的东西,但 Eclipse 告诉我这部分有语法错误
actionListener="#{bean[confMethod(param1, param2)]}"
但只是
没有任何问题actionListener="#{bean[confMethod]}"
file1.xhtml:
<ui:composition>
.....
<ui:include src="/jsf/include/dg_confirm.xhtml">
<ui:param name="bean" value="#{myController}" />
<ui:param name="question" value="Are you sure?" />
<ui:param name="confMethod" value="myMethod" />
<ui:param name="param1" value="#{otherController.param1}" />
<ui:param name="param2" value="#{urlToFollow}" />
</ui:include>
</ui:composition>
和对话框
dg_confirm.xhtml
....
<p:commandButton value="Yes" oncomplete="PF('dlg_conf').hide();" actionListener="#{bean[confMethod(param1, param2)]}" ajax="false"/>
.....
问题:是否可以在 JSF 中以某种方式为方法传递参数?
actionListener="#{bean[confMethod(param1, param2)]}"
此语法确实无效。您基本上期望 confMethod
是一个静态函数,它 returns 基于给定两个参数的动态方法的名称。
正确的语法如下:
actionListener="#{bean[confMethod](param1, param2)}"