Freemarker页面不能包含css文件

时间:2012-03-29 00:30:43

标签: spring-mvc twitter-bootstrap freemarker spring-3

我正在使用Spring 3,基于java的配置,使用BootStrap。

我已经下载了bootstrap并将css和js放在资源目录下。

我不能在freemarker页面中使用这些.css的问题。 但是我进口了它们。

Tomcat日志说:

  

“警告:没有找到带URI的HTTP请求的映射   [/springway/resources/css/bootstrap-responsive.css] in   DispatcherServlet,名称为“spring”“

目录:

> -SpringWay
>       -src
>            - main
>                   -webapp
>                           -resources
                            -WEB-INF
                                 -welcome.ftl
                                 -springway.ftl     

welcome.ftl:

[#ftl /]
[#include "springway.ftl" /]


<ul class="breadcrumb">
  <li>
    <a href="[@spring.url '/test'/]">Test</a> <span class="divider">/</span>
  </li>
  <li>
    <a href="#">Library</a> <span class="divider">/</span>
  </li>
  <li class="active">Data</li>
</ul>

springway.ftl:

[#ftl/]
[#import "spring.ftl" as spring /]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

    <title>

    </title>

   <link href="[@spring.url '/resources/css/bootstrap-responsive.css'/]" rel="stylesheet" type="text/css" media="screen"/>
    <link href="[@spring.url '/resources/css/bootstrap-responsive.min.css'/]" rel="stylesheet" type="text/css" media="screen"/>
    <link href="[@spring.url '/resources/css/bootstrap.css'/]" rel="stylesheet" type="text/css" media="screen"/>
    <link href="[@spring.url '/resources/css/bootstrap.min.css'/]" rel="stylesheet" type="text/css" media="screen"/>

    <script src="[@spring.url '/resources/js/bootstrap.js'/]" type="text/javascript"></script>
    <script src="[@spring.url '/resources/js/bootstrap.min.js'/]" type="text/javascript"></script>
  </head>

<body ></body>
</html>

WebAppConfig:

public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
    }

1 个答案:

答案 0 :(得分:0)

看起来你的问题是春天试图使用spring servlet做出响应,但是你的资源不应该是它的一部分,那么你需要为Spring配置添加资源路径。我将根据资源的路径

添加您应添加的xml配置
<mvc:resources mapping="/resources/**" location="/resources/" cache-period="31556926"/>

其中

属性:位置 从Spring资源模式指定的服务静态内容的资源位置。每  location必须指向有效目录。可以将多个位置指定为以逗号分隔的列表,  并按指定的顺序检查给定资源的位置。例如,值为&#34; /,  类路径:/ META-INF /公共网络资源/&#34;将允许从Web应用程序提供资源  root和来自包含/ META-INF / public-web-resources /目录的类路径上的任何JAR  Web应用程序根目录中的资源优先。

属性:映射 当前Servlet上下文中的URL映射模式,用于从中提供资源  处理程序,例如&#34; / resources / **&#34;

希望这能帮到你