2010-02-08 87 views
2

我使用Apache Tiles 2.1.4與Spring MVC 3.我設法配置這些在一起,一切工作正常。我的下一步是添加CSS,這是我遇到問題的地方 - 這很可能是一個簡單的問題,但我無法讓我的模板jsp選取CSS。Apache Tiles 2.1.4與CSS

從我

片段瓷磚-defs.xml

<definition name="baseLayout" template="/WEB-INF/tiles/baseLayout.jsp"> 
    <put-attribute name="title" value="Template"/> 
    <put-attribute name="header" value="/WEB-INF/tiles/header.jsp"/> 
    <put-attribute name="styles" value="base.css"/> 
    <put-attribute name="subheader" value="/WEB-INF/tiles/subheader.jsp"/> 
    <put-attribute name="menu" value="/WEB-INF/tiles/menu.jsp"/> 
    <put-list-attribute name="bodyItems"> 
     <add-attribute value="/WEB-INF/tiles/body.jsp"/> 
    </put-list-attribute> 

片段從我的模板JSP(baseLayout.jsp)

<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/WEB-INF/css/displayTagTable.css"/> 

從我的CSS代碼段:

body { 
background-color: red; 

}

爲了檢查我的jsp是否抓取了css文件,我一直保留簡單的css。

我也檢查過我的css文件位於正確的位置 - 但我的jsp文件沒有拾取css文件。有人可以幫忙嗎?

任何幫助將不勝感激。

感謝, Zahanghir

回答

2

WEB-INF文件不通過公開的網址直接投放。 Spring和tiles能夠以編程方式間接提供來自WEB-INF的JSP文件。

您可以嘗試將css目錄移入WebContent並更新您的<link>標記的href屬性?

當你得到那個工作後,我有一個建議。您可以使用Tiles標記如果包括此頁面指令在你的JSP的頂部:

<%@taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%> 

如果你想,這可以讓你的CSS路徑存儲爲tiles-defs.xml屬性,並從您的JSP與檢索標籤:

<link type="text/css" rel="stylesheet" 
    href="<tiles:getAsString name="IDENTIFIER_HERE"/>"/> 

您的CSS網址將替換tiles標記。你可以在多個Tiles定義中使用這個CSS路徑。

的瓷磚標籤的其餘部分被記錄在這裏:Tiles Tag Reference Sheet

+1

是的,這並獲得成功。非常感謝你。 – Zahanghir 2010-02-08 16:01:01

+0

沒問題。快樂的編碼! – Abboq 2010-02-08 16:07:21

+0

如果我有多個CSS會怎麼樣? – 2015-06-08 13:17:28