【问题标题】:Add/import javascript library into JSF+Maven project在 JSF+Maven 项目中添加/导入 javascript 库
【发布时间】:2013-05-09 07:42:01
【问题描述】:

我正在使用 javascript 库在带有 Maven 的 JSF 项目中开发具有 3D 图形的界面,我想知道是否有一种方法可以将此 js 库添加/导入到我的项目中,而无需移动/复制所有将 js 文件放入 webapp/resources 目录。我已经尝试使用标记和 pom.xml 文件的标记来执行此操作,但没有成功。

错误是由这一行产生的:

<h:outputScript name="Three.js" />

它说找不到资源。

提前致谢。

编辑:我正在使用 JFS 2.1

【问题讨论】:

  • 请说明您使用的 JSF 版本。

标签: javascript jsf maven three.js


【解决方案1】:

Maven 是一个用于管理 java 依赖项和构建应用程序的工具。它用于生成 java 应用程序。如您所知,JavaScript 在 Web 应用程序的客户端运行,而 java 在服务器端运行。但有时 Maven 可以将 JS 资源作为 java 库的一个组成部分导入。 PrimeFaces 就是一个例子。

对于 JSF 应用程序中的资源管理,包括 JS 脚本,基本上有两种方式:

  1. 使用纯 HTML &lt;script&gt; 元素导入外部脚本。这样您就无需进行任何导入,只需引用 JSF 脚本的外部即可。
  2. 使用&lt;h:outputScript&gt; 导入内部脚本。这样,资源,尤其是您的脚本,将从 Web 应用程序中导入,最有可能但不一定是从您的 resources 文件夹中导入。否则,您可以从 maven 导入的工件 访问脚本,例如 PrimeFaces,其中也包含 JS 资源。在这种情况下,您需要指定&lt;h:outputScript&gt;library 属性。

据我所知,没有包含 Three.js 的 Java 库,因此最好的办法是引用外部脚本,或者将其导入 JSF 项目中。但如果我错了 - 请继续并通过 Maven 包含该库,以便能够在您的视图中引用它。

【讨论】:

  • 顺便说一下,我正在使用 RichFaces。问题是我想将所有 js 文件导入到我的 JSF 项目中,其中包含包含 library 属性的 outputScript 标记,但如果不将它们全部复制到资源库中,我不知道该怎么做。我该怎么办?我应该写 直到它到达我实际拥有 js 文件的目录吗?你说我可以导入脚本而不一定是从我的源文件夹中导入,这是我的问题,我不知道如何从不同的目录导入脚本。
  • 好吧,在阅读了这些链接和其他文档几个小时后,我找不到真正的解决方案,所以我最终将所有 js 文件复制到 webapp/resources 目录中,但无论如何感谢。
  • 基本上这是最直接的方式,而 IMO 是唯一合适的方式。
猜你喜欢
  • 1970-01-01
  • 2019-01-18
  • 2019-02-12
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
  • 2012-08-13
  • 1970-01-01
  • 2011-10-18
相关资源
最近更新 更多