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>
カスタムタグの記述方法
上記の、<!– ここにカスタムタグの設定を記述する –>の部分に記述するカスタムタグの設定の方法についてです。
<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:~~>となります。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
資格:少額短期保険募集人,FP3級
コメント