当前位置: 首页 > 知识库问答 >
问题:

在页面加载时调用JSF 1 bean操作

贺君浩
2023-03-14

我试图在页面加载时调用bean操作,bean在会话范围内注册。

我已经完成了这样的js:-document.getElementById('form1:show_data')。

我知道它可以通过调用bean构造函数中的操作来完成,但是在会话范围中,该操作只被调用一次。

共有1个答案

曹旭
2023-03-14

您仍然可以在请求范围中创建另一个bean,并在其构造函数中获取会话bean并调用您需要调用的任何内容。

public RequestScopedBean() {
    FacesContext fc = FacesContext.getCurrentInstance();

    SessionScopedBean ssb = (SesssionScopedBean) fc
        .getApplication()
        .getVariableResolver()
        .resolveVariable(fc, "sessionScopedBean");
    ssb.callSomething();
}

您仍然必须以某种方式在视图中引用请求范围的bean,以确保它将被创建。

这将有助于:

<f:subview rendered="#{requestScopedBean = null}" />
 类似资料:
  • 问题内容: 加载页面时,是否可以执行JSF托管的bean操作? 如果相关,那么我目前正在使用JSF 1.2。 问题答案: JSF 1.0 / 1.1 只需将所需的逻辑放入与JSF页面关联的请求范围的bean的构造函数中即可。 JSF 1.2 / 2.x @PostConstruct在请求或视图范围的bean上使用带注释的方法。将在构造和初始化/设置所有托管属性和注入的依赖项之后执行它。 如果您使用

  • 我想在加载aboutme时调用servlet GetUserData。jsp页面。 基本上,它所做的是设置一个会话变量,允许用户查看其配置文件信息。 它设置了一个会话变量,因此它不需要调用任何东西,只需在页面加载时继续使用servlet。 这个servlet调用另一种方法来生成SQL语句并准备要发送的数据。 最后,在JSP页面上,我想使用先前声明的会话变量将所有信息(如登录名、密码等)打印到表中。

  • 问题内容: 我正在将React与Firebase一起使用来开发一个小型Web应用程序。为了进行身份验证,我使用了上下文API,并且在上下文中添加了登录用户的详细信息。 AuthProvider.tsx AuthConsumer.tsx PrivateRoute.tsx App.tsx 用户已经登录,并且会话持久性设置为本地。问题是,当我尝试本地主机/订阅(这是一条私有路由)时,context.is

  • 问题内容: 我希望在发出ajax调用以更新数据库之前完全加载页面。我可以在body onload事件中调用javascript函数,以使页面完全加载,但是我不确定如何从那里触发Ajax调用。是否有更好的方法来实现此目的(页面加载后,Upadating数据库)? 问题答案: 使用JavaScript库确实很容易,例如使用jQuery,您可以编写: 如果没有jQuery,最简单的版本可能如下所示,但它

  • 问题内容: 传统上,要在页面加载后调用JavaScript函数,您需要在包含一些JavaScript的正文中添加一个属性(通常只调用一个函数) 页面加载后,我想运行一些JavaScript代码以使用服务器中的数据动态填充页面的某些部分。因为我使用的是JSP片段,所以我无法使用该属性,而JSP片段没有可以添加属性的元素。 还有其他方法可以在加载时调用JavaScript函数吗?我宁愿不使用jQuer

  • 我想在加载aboutme时调用servlet GetUserData。jsp页面。 基本上,它所做的是设置一个会话变量,允许用户查看其配置文件信息。 它设置了一个会话变量,因此不需要调用任何东西,只需在页面加载时继续使用servlet即可。 这个servlet调用另一种方法来生成SQL语句并准备要发送的数据。 最后,在JSP页面上,我想使用之前声明的会话变量将所有信息(如登录名、密码等)打印到表中