从JSP引用js maven依赖项

Jor*_*GRC 2 dependencies jsp struts2 maven

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

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

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

<script src="../js/some_file_name.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

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

我希望你明白我在做什么.

Jer*_*oen 6

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

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

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jqgrid</artifactId>
    <version>4.6.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

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

<script src="webjars/jqgrid/4.6.0/jquery.jqGrid.js" type="text/javascript"/>
Run Code Online (Sandbox Code Playgroud)

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

该URL应该是这样的:

<script src="${pageContext.request.contextPath}/webjars/jqgrid/4.6.0/jquery.jqGrid.js" type="text/javascript"/>
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅webjars文档.