方法始终在任何其他方法之前工作

时间:2011-03-13 20:02:56

标签: jsf

我想使用查询字符串中的参数获取数据库实体,如果我使用请求范围bean我在postconstruct方法中执行此操作并且每件事都可以,但是当我需要会话bean时

问题开始,因为我没有任何方法在任何其他方法之前工作。我想要做到这一点最合适的方式。实际上我需要一个在任何其他方法之前工作的方法如.net的page_load.I我正在使用jsf 1.2,如果你建议阶段监听是最好的选择,请给我一个通用的例子

1 个答案:

答案 0 :(得分:0)

您可以在所有命令链接/按钮上将其定义为actionListener

<h:commandButton actionListener="#{bean.listener}" action="#{bean.action1}" />
<h:commandButton actionListener="#{bean.listener}" action="#{bean.action2}" />

public void listener(ActionEvent event) {
    // ...
}

在操作方法之前将调用

然而,最好的方法是将请求范围的bean用于表单操作。如果您在请求范围的bean中需要一些会话范围的数据,那么只需将<managed-property>作为faces-config.xml注入请求作用域{{1}}。