使用spring mvc进行静态内容渲染

时间:2012-11-28 08:12:00

标签: java spring spring-mvc

我是春天新手,我正在尝试。

我有一个jsp文件,其中包含css和图像,如下所示

<link href="css/style.css" rel="stylesheet" type="text/css" />

现在我有一个url路径/localhost/myapp/test/tst,它被映射到一个控制器,然后转发它来查看jsp

view.jsp出现了

/web-inf/jsp/view.jsp

但是当点击路径/localhost/myapp/test/tst时,css和图像路径将被解析为

/localhost/myapp/test/tst/css/style.css

我希望它以/localhost/myapp/css/style.css的形式出现 css和html存在于webapp的根目录

我在春季配置中如何关注

 <mvc:annotation-driven />
    <mvc:resources mapping="/images/**" location="/images/" />
    <mvc:resources mapping="/css/**" location="/css/" />

1 个答案:

答案 0 :(得分:2)

您的CSS href当前与您的页面相关,您需要通过添加前导斜杠(加上下文等)使其相对于服务器根目录。添加contextPath也是一个好主意,这样如果/当你更改webapp名称或将其部署为root webapp时,资源仍然有效。

<link href="${pageContext.request.contextPath}/css/style.css" rel="stylesheet" type="text/css" />