我想在我的webapp中添加一个免费的布局模板,但出了点问题。
这是我的index.jsp文件的负责人:
<head>
<title>Bicycleshop Bootstarp Website Template | Home :: w3layouts</title>
<link href="WEB-INF/template/css/bootstrap.css" rel='stylesheet' type='text/css' />
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="/WEB-INF/template/js/jquery-1.11.0.min.js"></script>
<!-- Custom Theme files -->
<link href="/WEB-INF/template/css/style.css" rel='stylesheet' type='text/css' />
<!-- Custom Theme files -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<!-- Google Fonts -->
<link href='http://fonts.googleapis.com/css?family=Doppio+One' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Roboto+Condensed:400,300,700' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Oswald:400,700' rel='stylesheet' type='text/css'>
</head>
我在dispatcher-servlet.xml中包含了这一行:
<mvc:resources mapping="/template/**" location="/WEB-INF/"/>
模板位于目录/ WEB-INF / template /
中答案 0 :(得分:2)
事实证明我添加了错误的位置路径。这个适合我的结构:
<mvc:resources mapping="/template/**" location="/WEB-INF/template/"/>
现在它运作得很好。
答案 1 :(得分:0)
通常,您不能在WEB-INF或WEB-INF的子目录中拥有静态资源。应用服务器不提供此目录。这是一种保护区。如果您添加某种(代码)代理服务器,您可以提供数据,例如当Servlet默认显示为存储在WEB-INF内的JSP时。
你的意思
<mvc:resources mapping="/template/**" location="/WEB-INF/"/>:
所有匹配/template/**
的网址都是从/WEB-INF
提供的,因此,您在JSP中指定的网址(从/WEB-INF/template
开始)将在{{1}内部查看所以从JSP中的所有URL中删除/WEB-INF/WEB-INF
。
然后让Spring代理你的资源,你需要像这样使用JSTL或Spring Taglib或/WEB-INF
:
pageContext
或者:
<link href="<c:url value="/template/css/style.css" />" rel="stylesheet" type="text/css" />
修改强>
完整的源代码:
的web.xml
<link href="${pageContext.request.contextPath}/template/css/style.css" />" rel="stylesheet" type="text/css" />
MVC-servlet.xml中
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
Welcome.java
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="demo.spring.mvc" />
<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/WEB-INF/static/" />
<mvc:view-resolvers>
<mvc:jsp prefix="/WEB-INF/views/" suffix=".jsp" />
</mvc:view-resolvers>
</beans>
/WEB-INF/views/Welcome.jsp
package demo.spring.mvc;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class Welcome {
@RequestMapping("/welcome")
public String welcome() {
return "Welcome";
}
}
/WEB-INF/static/css/default.css
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<link href="<c:url value="/resources/css/default.css" />" rel="stylesheet" />
</head>
<body>
<h1 class="alert">This should appear in red!</h1>
</body>
</html>
答案 2 :(得分:0)
您的引用似乎不完整,因为您有CSS文件(引导程序,但不是主题)并且缺少Bootstrap JS文件。
另外,尝试从CDN加载。 https://www.bootstrapcdn.com/