gpt4 book ai didi

jsf - 在应用程序启动 (JSF) 中调用操作方法

转载 作者:行者123 更新时间:2023-12-04 22:08:10 29 4
gpt4 key购买 nike

我们需要在调用应用程序的第一页时调用一个操作方法。例如,第一页是 index.jsp ,当我们直接调用这个页面时, Action 方法不会被调用。为了实现这一点,我们编写了另一个页面,它使用 java 脚本单击按钮并调用操作方法,该方法导航到 index.jsp。

我觉得JSF中应该有适当的方法来完成这个任务。最好的方法是什么?我已经告诉团队,我们可以在加载页面时调用构造函数中的操作方法。这是正确的方法吗?有哪些可能的解决方案?

最佳答案

只需在 @PostConstruct 中完成工作即可应用范围 bean 的方法是 eager ly 构造或至少绑定(bind)到页面。

@ManagedBean(eager=true)
@ApplicationScoped
public class Bean {

@PostConstruct
public void init() {
// Here.
}

}

或者,如果 JSF(阅读: FacesContext)在实际工作中没有相关角色,您也可以使用 ServletContextListener .
@WebListener
public class Config implements ServletContextListener {

public void contextInitialized(ServletContextEvent event) {
// Do stuff during webapp startup.
}

public void contextDestroyed(ServletContextEvent event) {
// Do stuff during webapp shutdown.
}

}

如果您还没有使用 Servlet 3.0,请在 web.xml 中注册如下。
<listener>
<listener-class>com.example.Config</listener-class>
</listener>

也可以看看:
  • Using special auto start servlet to initialize on startup and share application data
  • 关于jsf - 在应用程序启动 (JSF) 中调用操作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4834949/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com