Javaに関する様々な情報をご紹介します。

3Strutsカスタムタグ

Javaに関する様々な情報をご紹介します。

Strutsカスタムタグ

ここでは、Strutsで用意されているカスタムタグの概要について解説します。

実行環境
  • ・WindowsXP Home Edition
  • ・J2SDK 1.4.2_04
  • ・Tomcat 5.0.18
  • ・Struts 1.2.4

概要

カスタムタグとは、頻繁に実行されるプログラムコードをタグとして定義し、JSP内でプログラムを簡潔に記述するものです。Strutsでは、以下のカスタムタグが準備されています。

カスタムタグ 内容
htmlタグライブラリ HTMLタグに加えて、Struts独自の動作を行うタグが定義されています。
beanタグライブラリ Beanのプロパティ、変数、Cookie、ヘッダなどを取得、表示するタグが定義されています。
logicタグライブラリ 繰返し処理、条件分岐処理などを行うタグが定義されています。
tilesタグライブラリ 画面レイアウトを定義するタグが定義されています。
nestedタグライブラリ ネストされたプロパティを参照するタグが定義されています。

構成

カスタムタグは以下の2つのファイルで構成されています。

タグハンドラクラス
カスタムタグの動作を定義しているクラスファイルです。タグハンドラクラスを集めたものをタグライブラリといいます。Strutsでは、上記のhtmlタグライブラリ、beanタグライブラリなどがあり、各ライブラリはstruts.jarファイル内に含まれています。
tldファイル
カスタムタグの使用方法を定義しているxml形式のファイルです。タグハンドラクラス名、タグ名、タグの属性名などが定義されています。Strutsでは、タグライブラリごとにstruts-html.tld、struts-bean.tldなどが用意されています。

利用方法

カスタムタグは以下の手順で利用します。

  1. tldファイルを配置
    利用するカスタムタグのtldファイルを配置します。配置は通常、WEB-INFディレクトリ配下に設定します。
  2. web.xmlに設定
    web.xmlの<taglib>タグに利用するタグライブラリを指定します。<taglib-uri>タグにはJSPからタグライブラリを指定するための論理名を指定します。<taglib-location>タグにはtldファイルが配置されている位置を指定します。
    <taglib>
        <taglib-uri>/tags/struts-bean</taglib-uri>
        <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib>
  3. JSPに設定
    JSPファイルのtaglibディレクティブで利用するタグライブラリを指定します。uri属性にweb.xmlの<taglib-uri>タグで指定した論理名を指定します。prefix属性で利用するタグのプレフィックス(<html:xxx>)を指定します。下の例は、htmlタグライブラリを利用して、入力値を送信するフォームを作成しています。
    ・・・・・・・・・・
    
    <%@ taglib uri="/tags/struts-html" prefix="html" %>
    
    ・・・・・・・・・・
    
    <html:form action="/xxx">
        <html:text property="name" size="16"/>
        <html:submit property="submit" value="送信"/>
    </html:form>
    
    ・・・・・・・・・・

3Strutsカスタムタグ