1

环境:

我正在编写一个带有 JSF2.2、Bootsfaces 0.9.1、Primefaces 6.0、JEE7 和 Hibernate 5.2 以及 MySQL 5.7 DB 的 SPA。

我有的:

我的 SPA 在上部有一个导航栏,在左侧有一个基于导航栏选择的特定菜单。在右侧和导航栏下方,我有我的主要“内容页面”。类似于这张图片,但不同的是我的菜单是动态的

在此处输入图像描述

为了更新我使用 AJAX 的内容页面。

只要我的内容页面不包含 ab:carousel,导航周围的一切都会按我的预期工作!

我试图做的事情:

正如我上面提到的,我的 SPA 和所有导航都正常工作,除非我将 ab:carousel 添加到内容页面。

请考虑以下示例:

我有 2 个内容页面。第 1 页包含带有一些文本的单个标签。第 2 页包含带有一些图像的 ab:carousel。第 1 页是欢迎页面。当我从第 1 页导航到第 2 页时,什么也没有发生。我需要完全刷新整个页面才能看到第 2 页,即使这不是每次都有效。

我的主要问题:

如果上面有 ab:carousel,是否有任何技巧可以使用 ajax 更新内容页面?我究竟做错了什么?

编辑:

我在 github 上创建了一个示例项目,因此您可以明白我的意思。我使用了 Java 1.8、Tomcat 8.0.36 和 Netbeans IDE,但是该项目是一个 Maven 项目,也应该在 eclipse 中工作。

项目:https ://github.com/mweber96/stackoverflow39128418

我部分使用的 SPA 方法:http ://www.beyondjava.net/blog/single-page-applications-with-bootsfaces/

这个问题与我之前的问题有关:Use ui:repeat with b:carousel?

4

1 回答 1

3

这是两个错误的组合:

  • 您在 GitHub 上的示例使用 PrimeFaces,但似乎没有使用 PrimeFaces 组件。效果是 PrimeFaces 添加了一些花哨的 JavaScript 来动态加载丢失的 CSS 文件(这很棒!),但它没有添加 PrimeFaces 核心库,因此 Mojarra 遇到了一个它默默隐藏的异常。您可以通过在页面中添加(可能是隐藏的)PrimeFaces 组件来解决此问题,方法是直接包含 PrimeFaces core.js 文件(尽管我不建议这样做),或者 - 当然 - 如果你真的不这样做,可以删除 PrimeFaces 依赖项'不需要它。

    • BootsFaces 依赖于 HTML 属性来初始化轮播。令我惊讶的是,这甚至有效,至少部分有效。但是,要自动开始滑动,您仍然需要手动初始化 JavaScript 小部件。在你的情况下,这是 $("#myCarousel").carousel();

顺便说一句,我建议您在我们的错误跟踪器上打开一个错误来修复后一点(https://github.com/TheCoder4eu/BootsFaces-OSP/issues)。提前致谢!

于 2016-08-25T19:58:08.080 回答