Jsf 方法始终比任何其他方法都有效

Jsf 方法始终比任何其他方法都有效,jsf,Jsf,我希望使用查询字符串中的参数获取数据库实体,如果我使用请求范围bean,我将在postconstruct方法中执行此操作,一切正常,但当我需要会话bean时 问题开始是因为我没有任何方法比任何其他方法先工作。我想知道最合适的方法是什么。实际上我需要一个方法,它比任何其他方法先工作,比如.net的page_load。我使用的是jsf 1.2,如果您建议phase listener是最佳选择,请给我一个通用示例您可以在所有命令链接/按钮上将其定义为actionListener <h:comma

我希望使用查询字符串中的参数获取数据库实体,如果我使用请求范围bean,我将在postconstruct方法中执行此操作,一切正常,但当我需要会话bean时


问题开始是因为我没有任何方法比任何其他方法先工作。我想知道最合适的方法是什么。实际上我需要一个方法,它比任何其他方法先工作,比如.net的page_load。我使用的是jsf 1.2,如果您建议phase listener是最佳选择,请给我一个通用示例

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

<h:commandButton actionListener="#{bean.listener}" action="#{bean.action1}" />
<h:commandButton actionListener="#{bean.listener}" action="#{bean.action2}" />
它将在操作方法之前调用


然而,最好的方法是只使用请求范围的bean进行表单操作。如果您在请求范围bean中需要一些会话范围的数据,那么只需通过
faces config.xml

将其作为
注入请求范围bean中,但这不是一种可行的方法,是否可以使用phaselistener,顺便说一下,我接受使用请求作用域bean和另一个会话作用域bean的解决方案。İf我可以在调用应用程序阶段之前编写一个阶段侦听器吗?我将在这里对所有bean执行我需要的操作。
public void listener(ActionEvent event) {
    // ...
}