Strutsリファレンス(逆引き)

Strutsリファレンス
 
Web struts.wasureppoi.com
メニュを作成する<tiles:putList>
スポンサード リンク

メニューを定義するには、<putList>タグ内に<item>タグを使用します。

<item>タグの主要属性
属性 概要
classtype インタフェースorg.apache.struts.tiles.beans.MenuItemを実装した、クラスを指定します。標準では、org.apache.struts.tiles.beans.SimpleMenuItemがあります
value インタフェースMenuItemのプロパティ「value」の値を指定します。
link インタフェースMenuItemのプロパティ「link」の値を指定します。
tooltip インタフェースMenuItemのプロパティ「tooltip」の値を指定します。
icon インタフェースMenuItemのプロパティ「icon」の値を指定します。

tiles-def.xml
メニュー1、メニュー2、メニュー3と3つのリンクを生成するメニューの定義です。

<definition name="MENU_LAYOUT_01" path="/jsp/tiles_jsp/sample_menu.jsp" >
  <putList name="menuList" >
      <item value="メニュー1"
          link="/jsp/tiles_jsp/menu_link_01.jsp"
          classtype="org.apache.struts.tiles.beans.SimpleMenuItem" />
      <item value="メニュー2"
          link="/jsp/tiles_jsp/menu_link_02.jsp"
          classtype="org.apache.struts.tiles.beans.SimpleMenuItem" />
      <item value="メニュー3"
          link="/jsp/tiles_jsp/menu_link_03.jsp"
          classtype="org.apache.struts.tiles.beans.SimpleMenuItem" />
  </putList>
</definition>


classtype属性には、標準で実装されている「org.apache.struts.tiles.beans.SimpleMenuItem」を使用しています。
value属性には、メニュー表示名を指定しています。
link属性には、リンク先のアドレスを、モジュール名以降の絶対パスで指定します。
classtype属性には、標準でインタフェースorg.apache.struts.tiles.beans.MenuItemを実装した実装されているクラス「org.apache.struts.tiles.beans.SimpleMenuItem」を指定しています。


JSP「/jsp/tiles_jsp/sample_layout.jsp」

%@ page pageEncoding = "Shift_JIS" %>
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-tiles" prefix="tiles" %>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>

<tiles:importAttribute />

<html><body>

<logic:iterate id="menu" name="menuList" type="org.apache.struts.tiles.beans.SimpleMenuItem">
   <bean:define id="link" name="menu" property="link" type="java.lang.String" />
   <html:link page="<%=link %>">
       <bean:write name="menu" property="value" /><br>
   </html:link>
</logic:iterate>

</body></html>


<tiles:importAttribute />タグで、画面定義内の<putList>のメニュー定義を、スコープ「page」に取り込みます。
<logic:iterate>タグで、スコープ「page」に取り込んだメニュー定義「menuList」を参照します。
<bean:define>タグで、org.apache.struts.tiles.beans.SimpleMenuItemのプロパティ「link」を変数「link」に代入します。
<html:link>タグで、URLを指定します。
<bean:write>タグで、メニューの表示名を、org.apache.struts.tiles.beans.SimpleMenuItemのプロパティ「value」を指定します。


画面イメージ&HTMLソース


<html><body>

<a href="/Struts1.2/jsp/tiles_jsp/menu_link_01.jsp">メニュー1<br></a>

<a href="/Struts1.2/jsp/tiles_jsp/menu_link_02.jsp">メニュー2<br></a>

<a href="/Struts1.2/jsp/tiles_jsp/menu_link_03.jsp">メニュー3<br></a>

</body></html>



スポンサード リンク


tiles概要
シンプルな画面定義をしてみる<definitions>
画面レイアウトを定義する<definition、put>
画面定義を継承する<definitions extends >
メニュを作成する<tiles:putList>
メニューを動的に作成する(org.apache.struts.tiles.Controller)

カスタムタグへ
忘れっぽいエンジニアのJakarta Strutsリファレンス TOPへ