2013-08-28 62 views
0
How can i load the css from tiles definition file in springs? 

My JSP: 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%> 
<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<%-- <tiles:importAttribute name="cssList" /> --%> 
<tiles:useAttribute id = "stylesList" name="styles" classname="java.util.List"/> 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

<%-- <link href="<c:url value="/styles/cssreset-min.css"/>" rel="stylesheet" type="text/css" /> --%> 
<%-- <link type="text/css" rel="stylesheet" 
    href="<tiles:getAsString name="cssList"/>"/> --%> 
    <%-- <link href="<c:url value="cssList"/>" rel="stylesheet" type="text/css" /> --%> 

     <c:forEach var="eachStyle" items="${styles}"> 
     <link type="text/css" rel="stylesheet" href="<c:out value='${eachStyle}'/>" /> 
     </c:forEach> 
<title>Insert title here</title> 
</head> 

這是我的tiles xml文件嗎?從tile定義xml加載css

<definition name="template-main" template="/WEB-INF/jsp/layouts/main.jsp"> 
     <!-- <put-attribute name="cssList" value="/resources/styles/cssreset-min.css" type="string"/> --> 
     <put-attribute name="banner-content" value="/WEB-INF/jsp/sections/banner.jsp" /> 
     <put-attribute name="title-content" value="Pet Type" /> 
     <put-attribute name="primary-content" value="" /> 
     <put-attribute name="footer-content" value="/WEB-INF/jsp/sections/footer.jsp" /> 
     <put-list-attribute name="styles"> 
      <add-list-attribute> 
      <add-attribute value="/resources/styles/cssreset-min.css"></add-attribute> 
      </add-list-attribute> 
     </put-list-attribute> 
    </definition> 

我只是想從瓷磚定義XML文件加載CSS。我怎樣才能做到這一點? 任何人都可以請幫忙。我是這個新手

回答

0

您在var id檢索項目列表時出現錯誤(在c:forEach標記處)。

您正在引用名稱(由tiles:useAttribute使用)來檢索Tiles值,而不是id(這是查找在JSP中檢索的列表的關鍵,簡而言之,定義的變量名稱)。

您的代碼應該是這樣的:

<c:forEach var="eachStyle" items="stylesList"> 
    <link type="text/css" rel="stylesheet" href="<c:out value='${eachStyle}'/>" /> 
    </c:forEach> 
+0

感謝托馬斯..我能夠從瓦片定義文件獲取URL,但它看起來像這樣[款式/ Styles.css中]方括號內,因爲封閉其中它無法加載CSS。這個有什麼問題嗎? vasim

+0

@ user1122897嘗試通過改變'''tiles:insertAttribute value =「$ {eachStyle}」/>' –

+0

我試過太托馬斯,但沒有工作。我需要在我的jsp中獲取列表的元素,即我需要逐個讀取列表中的元素。 CSS 。我的列表有點像這樣[styles/sample.css,styles/sample2.css,styles/sample3.css,] – vasim