在JSP中包含css和js文件不起作用

时间:2015-02-05 06:13:07

标签: html jsp include-path

您好我在JSP文件中遇到包括js / css甚至图像src的问题。

当我的应用程序以任何上下文开头时说abc ex。 http://localhost:8080/abc和浏览器位于网址http://localhost:8080/abc/reports/userCount上,并且在该JSP中我将css包括为

<link rel="stylesheet" type="text/css" href="resources/thirdparty/css/jquery-ui.smoothness.min.css">

浏览器控制台中显示404错误,下载css的URL形成为

http://localhost:8080/abc/reports/resources/thirdparty/css/jquery-ui.smoothness.min.css

但是当我在一个像

这样的网页上

http://localhost:8080/abc/createBadgeStep2  同样包括css工作正常,因为下载css的url创建正常。

http://localhost:8080/abc/resources/thirdparty/css/jquery-ui.smoothness.min.css

我在这里可以清楚地看到URL中的Context之后的第二个斜杠正在创建问题。但无法弄清楚如何解决它。问题也出现在js和图像上。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:2)

将样式表导入为

<link rel="stylesheet" type="text/css"
href="${pageContext.request.contextPath}/resources/thirdparty/css/jquery-ui.min.css">

如果要在页面中导入多个资源,最好使用<c:set> JSTL标记在页面范围变量中设置上下文路径。

<c:set var="ctxPath" value="${pageContext.request.contextPath}" />

然后在href属性中使用该变量。

<link rel="stylesheet" type="text/css" href="${ctxPath}/resources/..." />

您还需要导入JSTL标记库以使用<c:set>标记。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>