java - 使用 f :event postAddToView 在页面加载后调用 JSF Managed Bean

标签 java javascript http jsf-2

我正在使用 JSF 2.0 编写应用程序。

对于其中一个页面,有一个页面的部分需要很长时间才能显示。

为了改善用户体验,我考虑先加载页面,然后在第一次加载成功后自动对 JSF 管理 bean 对象执行 Ajax 回调。

我正在考虑将 f:event 与 postAddView 类型一起使用。

<h:outputText id="dummyId">
    <f:event type="postAddToView" listener="#{mngBean.doSomething}" />
</h:outputText>

然而,在页面首次显示之前,似乎仍在处理 f:event postAddToView

我探索过的其他选项是创建隐藏按钮并获取 javascript 来触发它。它有效,但我只是想知道是否有一个不错的 JSF 组件/事件可以执行此操作而不是使用 java 脚本。

感谢您的帮助。

<h:commandButton id="dmyButton" 

value="#{mngBean.getSomething}" actionListener="#{mngBean.doSomething}" 风格=“显示:无” 类型="提交">

Java 脚本

<script language="JavaScript">
 $(document).ready(function() {
  if (document.getElementById('form:dmyButton').value == 'true') {
   document.getElementById('form:dmyButton').click();
  }

 });
</script>

提前感谢您的帮助

最佳答案

我认为 PreRenderViewEvent 是您想要的。

http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/event/PreRenderViewEvent.html

虽然文档没有显示,但 preRenderViewEvent 确实可以与 f:event 一起使用。我会立即修复文档。

关于java - 使用 f :event postAddToView 在页面加载后调用 JSF Managed Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3508320/

相关文章:

node.js - 以字符串形式读取angular2中的静态文件

java - 在外部库中启用日志记录

java - 从命令行通过 ant 构建 java eclipse 项目时出错

javascript - 数据表每 5 秒更新一次单列

java - 使用 Java 11 编译时,Intellij 找不到 java.net.http

javascript - 如何在具有文件 :///URI 的 JavaScript Web 应用程序中使用 Google Analytics

javascript - 使用 Node.js 进行一对多/广播的 Webrtc

tcp 断开连接时的 Http session 持久性

excel - 从函数返回服务器错误为字符串?

javascript - react : "Prop or nothing" in component property