我使用Bootsfaces的JSF Web Java项目有问题:默认库从互联网上加载三个文件而我断开互联网连接
当项目脱机时,在加载页面时找不到这些文件时会出现问题。我已经下载并将依赖项放在需要它们的页面上,尽管由于查找该文件而离线时它仍然会出现问题。 BootsFaces是一个JAR,因此您不太可能查找这些文件的调用。有没有机会在运行时消除文件的负载?此外,由于连接速度慢,加载本地文件甚至可能会减慢站点加载速度。这是父模板的代码片段:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:b="http://bootsfaces.net/ui"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<h:head>
<link rel="shortcut icon" type="image/x-icon" href="#{templateBean.request}/assets/admin/img/favicon.png"/>
<link rel="stylesheet" href="#{templateBean.request}/assets/admin/css/datatable/datatables.min.css"/>
<link rel="stylesheet" href="#{templateBean.request}/assets/admin/css/font-awesome/font-awesome.min.css"/>
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="#{templateBean.request}/assets/admin/css/bootstrap.min.css"/>
建议下载有问题的文件并在本地使用它们,并下载最新版本的bootsfaces(1.4.1)后,可以将问题减少到只有1个错误:datatables.js。
在父模板的开头,我添加了以下行:
<h:outputStylesheet library="css" name="datatables.min.css"/>
<h:outputStylesheet library="css" name="font-awesome.min.css"/>
<h:outputScript library="js" name="datatables.min.js"/>
screenchot for files structure screenshot for the error during load page
在图像中,您可以看到它是如何加载本地文件但仍然在寻找互联网,页面的加载是19秒。
只需将文件的副本与* .war文件捆绑在一起即可。如果BootsFaces在资源中检测到类似“datatables.css”,“datatables.js”,“font-awesome”或“* fontawesome”之类的东西,它对本地版本感到满意并停止从互联网上下载这些文件。
请更新到BootsFaces 1.2.0+(如果您还没有这样做)。一些早期版本有一个错误,使他们总是下载datatables库。
在我们的展示中有关于该主题的更多信息:Dealing with resource files
更新:我刚刚看到您包含带有简单HTML链接的文件。 BootsFaces无法检测到这些链接。请改用<h:outputStylesheet>
和<h:outputScript>
。
感谢Stephan Rauh的贡献。你给我的解决方案完美无缺。解决方案是修改web.xml文件并添加这些行。您必须下载并包含您尝试从Internet下载的文件。
<context-param>
<param-name>net.bootsfaces.get_datatable_from_cdn</param-name>
<param-value>true</param-value>
</context-param>