我的项目结构:
的hello.jsp:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>Title</title>
<meta charset="utf-8">
<link href="<c:url value="/resources/myStyle.css" />" rel="stylesheet">
</head>
<body>
<h1>Text</h1>
<p>Text.</p>
</body>
</html>
myStyle.css:
body {
font-family: Arial, Verdana, sans-serif;
font-size: 11pt;
background-color: #f0f0f0;
color: #333;
}
h1 {
color: #a52a2a;
font-size: 24pt;
font-family: Georgia, Times, serif;
font-weight: normal;
}
p {
text-align: justify;
margin-left: 60px;
margin-right: 10px;
border-left: 1px solid #999;
border-bottom: 1px solid #999;
padding-left: 10px;
padding-bottom: 10px;
}
有人可以解释一下为什么css无效吗? 我使用Intellij IDEA作为IDE和Tomcat。
但这有效:
<style>
<%@include file="/resources/myStyle.css" %>
</style>
答案 0 :(得分:1)
只需尝试任何一个。所有这些都是{strong>相对路径相对于webapp
文件夹。
<link rel="stylesheet" type="text/css" href="/resources/myStyle.css" >
OR
<link rel="stylesheet" type="text/css"
href="<%=application.getContextPath() %>/resources/myStyle.css" >
OR
<jsp:directive.include file="/resources/myStyle.css" />
JSP - 包含指令
include指令中的文件名实际上是相对URL 。如果只指定没有关联路径的文件名,JSP编译器会假定该文件与JSP位于同一目录中。
include指令用于在转换阶段期间包含文件。该指令告诉容器在转换阶段将其他外部文件的内容与当前JSP合并。您可以在JSP页面的任何位置编写include指令。