Struts Tilesタグライブラリを使う

より詳しくは http://jakarta.apache.org/struts/userGuide/dev_tiles.html が参考になります。

  1. タグライブラリデスクリプタ struts-tiles.tld が /WEB-INF にあることを確認します。なければStrutsの配布アーカイブからコピーしてきます。
  2. web.xmlを編集し、struts-tiles.tldに関する記述を追加します。

    <taglib>
      <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
      <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
    </taglib>
    


    ★Servlet API 2.3以降では、このようにURIと実際のファイル位置が全く同じ場合、 この記述を省略できます。
  3. レイアウト・テンプレートとなるJSPファイルを作ります。 以下はStrutsのソース配布に収録されている、「classicLayout.jsp」のサンプルです。

    <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
    
    <%-- Layout component 
      parameters : title, header, menu, body, footer 
    --%>
    <HTML>
      <HEAD>
        <title><tiles:getAsString name="title"/></title>
      </HEAD>
    
    <body bgcolor="#ffffff" text="#000000" link="#023264" alink="#023264" vlink="#023264">
    <table border="0" width="100%" cellspacing="5">
    <tr>
      <td colspan="2"><tiles:insert attribute="header" /></td>
    </tr>
    <tr>
      <td width="140" valign="top">
        <tiles:insert attribute='menu'/>
      </td>
      <td valign="top"  align="left">
        <tiles:insert attribute='body' />
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <hr>
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <tiles:insert attribute="footer" />
      </td>
    </tr>
    </table>
    </body>
    </html>
    

  4. テンプレートを使う実際のJSP、例えばindex.jspを作ります。

    <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
    
    <tiles:insert page="./classicLayout.jsp" flush="true">
      <tiles:put name="title"  value="Page Title" />
      <tiles:put name="header" value="./header.jsp" />
      <tiles:put name="footer" value="./footer.jsp" />
      <tiles:put name="menu"   value="./menu.jsp" />
      <tiles:put name="body"   value="./main.jsp" />
    </tiles:insert>
    

  5. その構成要素となる、各JSPファイルを作ります。 相対パスですが、tiles:putタグのパスは、 レイアウト・テンプレートJSPからの相対パスになるようです。
    これらのファイルはJSPですから、下のようにスクリプトレットや、 JSPディレクティブを使うこともできます。

    <a href="http://jakarta.apache.org">
    <img src="<%=request.getContextPath()%>/tiles/images/jakarta-logo.gif" align="left" border="0">
    </a>
    <img src="<%=request.getContextPath()%>/tiles/images/struts.gif" align="right" border="0">
    

    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    メニュー
    

  6. Server Side Java Index Top

    (first uploaded 2004/01/11 last updated 2004/01/11, URANO398)

楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル