Ссылка / включить css в FreeMarker с помощью Spring 3 MVC
в настоящее время я пытаюсь включить файл css в свой FreeMarker *.быстрее света. Я также настроил папку ресурсов в xml-файле конфигурации сервлета.
<mvc:resources mapping="/resources/**" location="/resources/" />
но как я могу получить доступ к файлу css из моего шаблона FreeMarker?
Я просто попробовал следующее, но безуспешно.
<link href="/resources/css/style.css" rel="stylesheet" type="text/css" />
папка ресурсов находится в корне моего приложения spring MVC 3.0.
/web
/resources
/img
/css
/WEB-INF
/templates
мой корень сервлета определяется как:
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/web/*</url-pattern>
</servlet-mapping>
мой Файлы FreeMarker находятся в папке templates.
2 ответов
Я нашел два решения. Один с макросами spring и один без в моем файле FreeMarker.
самый простой способ-это использовать его без макросов:
<link rel="stylesheet" type="text/css"
href="/springmvc/resources/css/style.css" />
в этом решении я должен определить полный путь.
используя весенние макросы, вы должны заложить свою весну.ftl в каталог шаблонов и включить его в каждый шаблон FreeMarker, где вы хотите использовать его.
<#import "spring.ftl" as spring />
<html>
<head>
<title>...</title>
<link rel="stylesheet" type="text/css"
href="<@spring.url '/resources/css/style.css'/>"/>
...
весенние макросы также могут использоваться для других целей этот блог дает хороший обзор.
вы можете попробовать это,
<link rel="stylesheet" type="text/css" href="<c:url value="/"/>resources/css/style.css" />
во время выполнения этот код вернет точный путь.