2

I am using Apache Tiles 2.1.4 with Spring MVC 3. I have managed to configure these together and everything works fine. My next step is to add CSS and this is where I am having an issue - this is most probably a simple one but I can't get my template jsp to pick up the css.

Snippet from my tiles-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>

Snippet from my template jsp (baseLayout.jsp)

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

Snippet from my css:

body {
background-color: red;

}

I have kept the css as simple as possible just to check if my jsp picks up the css file.

I have also checked that my css file is in the correct location - but my jsp file is not picking up the css file. Can someone help?

Any help will be much appreciated.

Thanks, Zahanghir

4

1 に答える 1

2

内のファイルWEB-INFは、パブリック URL を介して直接提供されません。Spring とタイルは、JSP ファイルをWEB-INFプログラムから間接的に提供できます。

css ディレクトリを WebContent に移動して、<link>タグのhref属性を更新してみてください。

あなたがそれを機能させた後、私は提案があります。このページ ディレクティブを JSP の先頭に含めると、Tiles タグを使用できます。

<%@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 URL は tile タグを置き換えます。そして、この CSS パスを複数のタイル定義で使用できます。

残りの Tiles タグについては、こちらに文書化されています: Tiles Tag Reference Sheet

于 2010-02-08T15:50:09.197 に答える