2011-09-12 39 views
17

我創建了一個jsp頁面如下:如何加載CSS文件轉換成JSP

<%@ page contentType="text/css" %> 
<html> 
<head> 
<title>Login page</title> 
<link href="/css/loginstyle.css" rel="stylesheet" type="text/css"> 
</head> 
<body> 
<h1> India welfare</h1> 
<p> welcome </p> 
</body> 
</html> 

並將其命名爲的login.jsp

,我也創建了一個CSS文件名爲loginstyle.css和.css文件的代碼如下:

body 
{ 
background-color:#d0e4fe; 
} 
h1 
{ 
color:orange; 
text-align:center; 
} 
p 
{ 
font-family:"Times New Roman"; 
font-size:20px; 
} 

對CSS和JSP的目錄結構如下: web內容/ welfare_web/CSS的.css文件和 web內容/ welfare_web /登錄用於jsp文件

編程編輯器是日食,我使用的服務器是tomcat的7.0。當我試圖運行使用tomcat服務器的login.jsp文件。該css文件沒有顯示任何效果。我的意思是輸出是正常的文本,並不是根據CSS文件。

請幫助我如何使.css文件生效jsp文件。

回答

25

css href鏈接不正確。改用相對路徑:

<link href="../css/loginstyle.css" rel="stylesheet" type="text/css"> 
+0

非常感謝你。它幫助和工作............ – ylnsagar

+0

不要忘了點擊複選框來接受這個答案:) – Manny

22

你可以這樣寫。這是每當你改變上下文路徑時,你都不需要修改你的jsp文件。

<link rel="stylesheet" href="${pageContext.request.contextPath}/css/styles.css" /> 
+3

我必須登錄,才能投票。 –

7

我也有同樣的問題。然後我意識到在MainPageServlet中的@WebServlet註釋中的urlPatterns參數包含「/」,因爲如果用戶輸入www.site.com/,我想轉發到MainPage。當我試圖從瀏覽器中打開css文件時,網址是www.site.com/css/desktop.css,但是頁面內容是頁面內容。所以,我刪除了「/」urlPattern,現在我可以在我的jsp文件中使用最常用的解決方案之一(${pageContext.request.contextPath}/css/desktop.css)使用CSS文件。 確保您的servlet不包含「/」urlPattern。 我希望這也工作了U, - 阿克塞爾Montini

+0

這有效,但你如何分配「/」路徑? – Christian

1

我使用這個版本

<style><%@include file="/WEB-INF/css/style.css"%></style>