1

commandButton我不知道这是否是一个好习惯,但我想根据用户上下文对托管 bean 调用不同的操作。原因是我从应用程序中的不同位置访问页面,并且我希望我的单个命令是一种“返回”按钮到我来自的位置。我已经实现了基于 MyFaces Orchestra Flow 的想法的自定义机制,并在自定义 NavigationHandler 中进行了重定向,但我想知道是否有一种方法可以参数action化我的 commandButton 的属性。

欢迎任何建议

4

1 回答 1

1

如果您的目标环境支持 Servlet 3.0 / EL 2.2(Tomcat 7、Glassfish 3 等),或者安装了JBoss EL,那么您可以直接将 deisred 参数传递给方法。所以你可以有

public void submit(String argument) {
    // ...
}

<h:commandButton value="submit" action="#{bean.submit('some')}" />

或者,基于 EL 范围变量:

<h:commandButton value="submit" action="#{bean.submit(some)}" />

不过还有其他方法。想想<f:param>, <f:setPropertyActionListener>,Application#evaluateExpressionGet()等。其中许多都在<h:dataTable>此处的上下文中得到了回答:如何将选定的行传递给 dataTable 中的 commandLink?(在数据表之外,原理没有太大区别)

于 2013-01-24T17:00:24.200 回答