[英]how to use css in jsp pages
我正在尝试从我的jsp页面使用css文件,但是页面看不到css代码。
这是我的.jsp文件;
<html class="no-js" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Foundation | Welcome</title>
<link rel="stylesheet" href="/sources/css/foundation.css" />
<script src="/sources/js/vendor/modernizr.js"></script>
</head>
<body>
这是我的配置文件
@Configuration
@ComponentScan("com.sprhib")
@EnableWebMvc
public class BaseTestConfig {
@Bean
public UrlBasedViewResolver setupViewResolver() {
UrlBasedViewResolver resolver = new UrlBasedViewResolver();
resolver.setPrefix("/WEB-INF/pages/");
resolver.setSuffix(".jsp");
resolver.setViewClass(JstlView.class);
return resolver;
}
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/sources/**").addResourceLocations("/sources/");
}
}
该Web应用未部署为根Web应用。 因此它具有“上下文路径”。 例如,访问位于Web应用程序根目录中的index.html文件的路径实际上类似于
http://localhost:8080/myfirstwebapp/index.html
这是浏览器的位置栏所包含的内容, /myfirstwebapp
是应用程序的上下文路径。
因此,如果您的页面包含href="/sources/css/foundation.css"
,浏览器将尝试从中加载css文件
http://localhost:8080/sources/css/foundation.css
而不是
http://localhost:8080/myfirstwebapp/sources/css/foundation.css
因此,您需要将上下文路径添加到webapp中所有绝对URL的前面。 使用JSTL:
href="<c:url value='/sources/css/foundation.css'/>"
没有JSTL:
href="${pageContext.request.contextPath}/sources/css/foundation.css"
尝试通过具有完整URL路径的Web浏览器直接调用这些CSS。 这取决于在Tomcat或Web服务器中定义的应用程序路径是什么。
如果其映射方式为http://yourdomain.com/(root ),则应为http://yourdomain.com/sources/css/foundation.css ,但如果其映射方式为http://yourdomain.com/test或东西,CSS的URL应该是http://yourdomain.com/test/sources/css/fundations.css 。
您可以使用相对传递,也可以引入PATH变量,以便始终在源代码中始终像http://yourdomain.com/PATH/sources/css/foundations.css一样创建链接。
删除/ in / sources中的 。 这会起作用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.