Richfaces a4j:包括加载两个页面?

发布于 2024-08-30 10:15:20 字数 537 浏览 11 评论 0原文

我的 JSF 主页面上有这段看似无害的代码:

<a4j:outputPanel id="sidebarContainer">
     <a4j:include viewId="#{UserSession.currentSidebar}"/>
</a4j:outputPanel>

以下是侧边栏的更改方式:

  1. A jsFunction 调用一个 backing-bean 方法,该方法在 UserSession 中设置页面(如“sidebar2.jsp”)

  2. jsFunction 具有“rerender='sidebarContainer'”,以便在侧边栏中加载正确的页面

当 Web 应用程序最初在 JBoss 5 中启动时,当我调用 jsFunction 更改页面时,出现了 sidebar2,但原来的侧边栏(sidebar1.js)出现了。 jsp) 出现在其下方。

在经历了最初的怪异之后,侧边栏切换工作得很好。有什么想法吗?

I have this seemingly-innocent code on my main JSF page:

<a4j:outputPanel id="sidebarContainer">
     <a4j:include viewId="#{UserSession.currentSidebar}"/>
</a4j:outputPanel>

Here is how the sidebar changes:

  1. A jsFunction calls a backing-bean method which sets the page (like "sidebar2.jsp") in UserSession

  2. The jsFunction has "rerender='sidebarContainer'", so that the correct page is loaded in the sidebar

When the web application is initially started in JBoss 5, when I call the jsFunction to change pages, sidebar2 appears, but the original sidebar (sidebar1.jsp) appears below it.

The sidebar switching works just fine after this initial wierdness. Any thoughts??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绿萝 2024-09-06 10:15:20

问题似乎在于,在调用 AJAX 请求来更改侧边栏的同时,还发生了另一个 AJAX 请求。我们现在正在采取一些解决方法。

我在 RichFaces 4 alpha 2 的注释中注意到,由于 RichFaces4 使用 JSF 2 f:ajax 功能,基本上,AJAX 请求是序列化的,因此在任何给定时刻只能进行一个请求。因此,当我们转向 RichFaces 4 时,我们的问题应该得到解决。

What seems to be the problem was that another AJAX request is happening at the same time that the AJAX request was called to change sidebars. We're putting in a few workarounds for now.

I noticed in the notes for RichFaces 4 alpha 2 that since RichFaces4 uses the JSF 2 f:ajax functionality, basically, AJAX requests are serialized so that only one can be underway at any given moment. So when we move to RichFaces 4 our problem should be solved.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文