はじめに
今のところ、画面を作成する際に、jspをよく使われています。ある程度、JSPカスタムタグは必要になる場合もあります。
本記事は簡単にJSPカスタムタグを作る方法を解説します。
概念解説
本記事はwebプロジェクトをベースにJSPカスタムタグを開発していきますよ。
また、少しだけ、JSPカスタムタグに関するの知識をまとめています。
- SimpleTagSupportクラス: インタフェースSimpleTagを実現するクラスです。JSPカスタムタグを開発する際に、よく親のクラスとしての使われています。
- doTag()メソッド : このメソッドをOverrideして実際の業務ロジックを実現する。
- tldファイル: JSPカスタムタグのタグ名、タグ属性、タグクラスなどの情報を定義する場所。
本記事は**<hyman:hello name="">**というカスタムタグを作成します。
タグ名はhelloですし、タグの属性はnameです。
このタグを使うと、画面上にnameのvalueを含めて出力します。
作る方法
一、java側の実装
簡単に言うと、新しいjavaクラスを作成して親のSimpleTagSupportクラスを継承し、doTagメソッドを実装します。
ソースコードは下記の通りです。
package tag;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class HymanTag extends SimpleTagSupport {
private String name;
@Override
public void doTag() throws JspException {
try {
getJspContext().getOut().println("Hello, " + name);
} catch (Exception e) {
throw new JspException(e);
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
二、tldファイル作成
下記のように、タグの名、属性、クラスなどの情報を記入します。
その後、hyman.tldファイルを/webapps/WEB-INFディレクトリの下に格納します。
例:/webapps/WEB-INF/hyman.tld
<?xml version="1.0" encoding="UTF-8" ?>
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>2.0</jsp-version>
<short-name>Example TLD</short-name>
<tag>
<name>hello</name>
<tag-class>tag.HymanTag</tag-class>
<body-content>empty</body-content>
<info>Hello tag with parameters.</info>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
三、JSPカスタムタグ使用
前提:hyman.tldファイルを/webapps/WEB-INFディレクトリの下に格納します。
例:/webapps/WEB-INF/hyman.tld
先ずはjspファイルを作ってJSPカスタムタグを導入し、使います。
導入:
<%@ taglib prefix="hyman" uri="/WEB-INF/hyman.tld"%>
jspのソースコードは下記の通りです。
<%@page pageEncoding="UTF-8"%>
<%@ taglib prefix="hyman" uri="/WEB-INF/hyman.tld"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>JSPカスタムタグを簡単に作る方法</title>
</head>
<body>
<h2 style="color:red;">
<hyman:hello name="hyman's custom tag"/>
</h2>
</body>
</html>
四、JSPカスタムタグの表現
ここまで、JSPカスタムタグの実装はすべて完了しまして、プロジェクトを起動して画面上で確認しましょう。
イメージが以下のように表示されます。
最後に
最後まで読んでいただき、ありがとうございます。
おかしいと思う部分は遠慮なくご指摘いただければと思います。
よろしくお願いします。