Strutsのカスタムタグ作成方法

Strutsのカスタムタグ作成方法

Strutsでカスタムタグを作成する手順です。

tldファイルを作成します。保存場所はWEB-INF直下とし、st.tldファイルとします。

以下、記述例です。

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>2.3</jsp-version>
<short-name>st</short-name>
  <!-- ここにカスタムタグの設定を記述する -->
</taglib>

JSPのバージョン

カスタムタグの記述方法

上記の、<!– ここにカスタムタグの設定を記述する –>の部分に記述するカスタムタグの設定の方法についてです。

<tag>
<name>select</name>
<tag-class>jp.co.confrage.selectTag</tag-class>
<body-content>JSP</body-content>
<description>
</description>
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
</tag>

タグの説明です。タグの実装はtag-classで指定したクラスでじっそうします。

tag タグで囲む
name カスタムタグ名
tag-class カスタムタグのクラス
body-content カスタムタグ内にbody部があるなら「JSP」
body部がないなら「empty」を指定
description タグの説明(省略可能)
attribute タグの属性
attribute内 属性
name 属性名
required 属性指定が必須かどうか。
デフォルトはfalse。
rtexprvalue  属性値として、スクリプトレットが使用できるかどうか。
デフォルトはfalse。
type 属性値の型
例)java.lang.String
例)boolean

 

JSPでtldファイルをインクルード

JSPでtldファイルを取り込む例です。JSPの先頭に記述します。

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="st" uri="/WEB-INF/st.tld" %>

prefixとは

prefixとは、カスタムタグを使用する際のタグ名になります。

上記では、prefix=”st”としているので、タグ名は<st:~~>となります。

コメント

タイトルとURLをコピーしました