在CSS文件中使用JSP或Spring标记

时间:2013-10-29 17:22:04

标签: css spring jsp

我正在开发一个Spring MVC 3.2.4.FINAL应用程序,并使用JSP文件作为我的视图技术。我的部分设计在我的css stylehsheet中使用了imgs / etc。

例如:

.main #footer #footerlist {
    background: url( /resources/images/main-foot_impersonating.jpg ) no-repeat !important;
}

问题当然是不暴露上下文路径。我需要将其编码为:

.main #footer #footerlist {
    background: url( /contextRoot/resources/images/main-foot_impersonating.jpg ) no-repeat !important;
}

但是,在理想的世界中,我不想对上下文根进行硬编码,并让Spring自动生成它。在普通的JSP文件中,我可以将其写为:

<spring:url value="/resources/images/main-foot_impersonating.jpg" />

当然,我知道我可以将我的css重命名为.css.jsp以强制JSP引擎编译它,然后将其编码为jsp页面,但我想知道是否还有其他技术/解决方案

我认为我不能成为第一个需要在CSS文件中包含一些应用程序值的人。

2 个答案:

答案 0 :(得分:0)

我记得在一个项目上做过类似的事情。

我们将一个spring控制器映射到css或css内的资源(图像),并且控制器添加了正确的上下文。

答案 1 :(得分:0)

这不是一个严格的规则,但通常最好的做法是使你的css文件中的任何网址相对而不是绝对。通过这种方式,他们永远不需要知道他们在哪里部署,而且只需要工作。&#34;关于此事的另一次stackoverflow讨论,请参见此处:Absolute vs relative URLs