我有一个j2ee应用程序我正在构建并部署到gae,出于某种原因,当我的url末尾有一个尾部斜杠时,CSS不会加载。
例如:
mysite.com/account
完美无缺
但
mysite.com/account/
加载没有CSS的页面
知道我能做些什么来解决这个问题吗?
CSS样式表:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link href="/css/rrstyles.css" rel="stylesheet">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/grayscale.css" rel="stylesheet">
<link href="font-awesome-4.2.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="http://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic" rel="stylesheet" type="text/css">
<link href="http://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<title>My app</title>
</head>
我将此标题包含为单独的jsp,但是当我转到/ account而不是/ account /出于某种原因时它会起作用。我不明白这是怎么回事。
答案 0 :(得分:4)
您的大多数CSS链接都有相对的网址。这意味着它们将相对于调用页面的URL目录进行解释。如果来电者网址为mysite.com/account
,则网址css/grayscale.css
会被解释为mysite.com/css/grayscale.css
。但是,当来电者网址为mysite.com/account/
时,CSS网址会被视为mysite.com/account/css/grayscale.css
。
最简单的解决方案是在您的网址中使用绝对路径:
<link href="/css/grayscale.css" rel="stylesheet">
答案 1 :(得分:0)
它将100%工作
第1步
<mvc:resources location="/WEB-INF/assets/" mapping="/resources/**"></mvc:resources>
setp 2
<spring:url var="css" value="/resources/css/"/>
<spring:url var="js" value="/resources/js/"/>
<spring:url var="image" value="/resources/image/"/>
在值
后添加斜杠第3步
像这样添加你的样式表
<link rel="stylesheet"
href="${css}/common/bootstrap.min.css">