Tilesテンプレートを複数のモジュールで使う時のCSSファイルの設定

どのモジュールでTilesテンプレートを使ってもCSSファイルがあるパスが正しく書き換えられるようにする必要がある。 <html:rewrite page='/css/stylesheet.css'/>の代わりにrequest.getContextPath()を使おう。


<link rel="stylesheet" type="text/css"
href="<%=request.getContextPath()%>/css/stylesheet.css">
または、CSSファイルをstruts-config.xmlのglobal-forwardsに定義しておく方法もある。

<global-forwards>
<forward name="baseCss" path="/css/stylesheet.css" />
...
他のstruts-config-xxx.xmlファイルでは次のようになる。

<global-forwards>
<forward name="baseCss" path="/css/stylesheet.css" contextRelative="true" />
...
JSPで使う時は<html:rewrite>を使う。

<link rel="stylesheet" type="text/css" href="<html:rewrite forward='baseCss'/>" />