我正在创建 maven spring java web 应用程序。我在 web.xml 中为默认 servlet 放置了一个映射,它映射到 Web 应用程序文件夹下的资源文件夹。现在在这个资源文件夹下我有三个文件夹:
img、css、html。
我在 web-inf 文件夹下有一个 jsp 页面。从这个 jsp 页面我指向 css,从 css 我正在设置 img 文件夹中的背景图像。
css 已成功包含在 jsp 页面中,但未加载背景图像无法解析并找到要在 url() 方法下定义的图像的准确路径。
以下是我的资源片段:
CSS 文件:
正文{
height : 70%; background-image: url('/resources/img/images1.jpeg'); background-size: cover; background-repeat: no-repeat; z-index: -1;
web.xml :
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/resources/*</url-pattern> </servlet-mapping>
请提供一些解决方案并解释这个包含图像的概念?
最佳答案
当通过 导入 CSS 样式表时,样式表由 FacesServlet 通过/javax.faces.resource/* 导入和处理。查看生成的元素指向有问题的样式表,您就会明白。
您必须更改所有 url() 依赖项以使用 #{resource['library:location']} 代替。然后 JSF 将自动用正确的路径替换它。鉴于您的文件夹结构,您需要更换
.c2 {
background: url("/resources/images/smiley.jpg");
}
通过
.c2 {
background: url("#{resource['images/smiley.jpg']}");
}
How to reference CSS / JS / image resource in Facelets template?
关于java - 资源文件夹下的 css 文件中图像 url 的值应该是多少,并且此资源文件夹在 spring 中映射为默认 servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44635479/