从JSP引用js maven依赖项

时间:2014-12-01 10:58:22

标签: jsp maven struts2 dependencies

我不知道这是一个愚蠢的问题,但由于我是Maven的新手,我真的不知道如何处理这个问题:

我目前正在使用Maven项目结构开发webapp(struts2)项目,我刚刚添加了一个我想要使用的新依赖项:jqgrid-4.6.0(Jquery grid-view plugin )。

我将依赖项添加到我的pom.xml就好了,现在当我必须将js文件包含在JSP内时,问题就出现了。如果我以旧的方式完成它(不使用Maven依赖项),我会将jar中的所有js文件放入我项目的Project_root/src/main/webapp/js目录中,并像这样引用它们:

<script src="../js/some_file_name.js" type="text/javascript"></script>

但我不知道如何通过使用依赖而不是将提取的.jar放在我的js目录中来解决这个问题。

我希望你明白我要做的事。

2 个答案:

答案 0 :(得分:6)

您可能需要考虑使用webjars(也许您已经这样做了)。它允许您在Maven项目中添加任何类型的Javascript库作为依赖项。

在您的情况下,您只需将以下依赖项添加到您的maven pom.xml文件中:

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jqgrid</artifactId>
    <version>4.6.0</version>
</dependency>

现在我不确定这在struts 2应用程序中是如何工作的,但在普通的servlet 3兼容服务器中,您可以使用以下命令引用该文件:

<script src="webjars/jqgrid/4.6.0/jquery.jqGrid.js" type="text/javascript"/>

可能需要将应用程序上下文路径放在相对URL前面。

网址应该是:

<script src="${pageContext.request.contextPath}/webjars/jqgrid/4.6.0/jquery.jqGrid.js" type="text/javascript"/>

有关详细信息,请参阅webjars documentation

答案 1 :(得分:-1)

为什么要将它们作为依赖项? js文件不是你项目的一部分吗?

通常非java(eq non jar / war / ear等)包作为项目的一部分添加。我已经看到了一些像jQuery这样的框架包,但是这不是典型的。你可以为jQuery建立自己的战争,但这将是一场虚拟的独立战争,在部署方面与你自己的生活无关。