JSPのカスタムタグ(一)
3338 ワード
1.ガイド
最近深センのある有名な企業に勤めていて、支払いシステムに触れています.システムのフレームワークはすべて会社独自のアーキテクチャなので、jspページで使われているラベルもカスタマイズされています.JSPのカスタマイズラベルを知らない同僚にとって、会社の技術がすごいと思いますが、JSPのカスタマイズラベルを勉強した後、そう思うかどうかは、あなた次第です.以下、JSPのカスタムタグについて説明します.主にJSP 2のカスタムタグについて説明します.
2.一般的なカスタムラベルの開発
2.1開発手順
1)カスタムラベル処理クラスの開発
2)*を作成する.tldファイル、各*.tldファイルは1つのラベルライブラリに対応し、各ラベルライブラリには複数のラベルを含めることができる.
3)JSPファイルにカスタムタグを使用する
2.2開発例(一般)
1)ラベル類HelloWorldTagを作成する.java.このクラスは親javaxを継承します.servlet.jsp.tagext.SimpleTagSupport.,また、ラベルの要件は次のとおりです.
(a)ラベルクラスに属性が含まれている場合、各属性には対応するgetterメソッドとsetterメソッドがあります.
(b)ページコンテンツの生成を担当するdoTag()メソッドを書き換える
2)TLDファイルの作成
TLDファイルはラベルライブラリファイルなので、ラベルライブラリのルート要素はtaglibですが、複数のtagサブ要素が含まれています.T omcat 8.0のwebappsexamplesWEB-INFjsp 2の下にjsp 2-example-taglibがあります.tldファイル、これはTLDファイルの例です.次はmytaglibです.tldは、WebのWEB/パスの下に置きます.
3)ラベルライブラリの使用
(a)ラベルライブラリを使用するには、主に2つの側面があります.
Øラベルライブラリのインポート:taglibコンパイルコマンドを使用してラベルライブラリをインポートすることは、ラベルライブラリと指定した接頭辞を関連付けることです.
Ø使用ラベル:JSPページでカスタムラベルを使用する
(b)taglibを使用する構文フォーマットは次のとおりです.
<%@ taglib uri=”tagliburi” prefix=”tagPrefix”%>
(c)ラベルを使用する構文フォーマットは以下の通りである.
(d)次はhelloWorldTag.jsp
最近深センのある有名な企業に勤めていて、支払いシステムに触れています.システムのフレームワークはすべて会社独自のアーキテクチャなので、jspページで使われているラベルもカスタマイズされています.JSPのカスタマイズラベルを知らない同僚にとって、会社の技術がすごいと思いますが、JSPのカスタマイズラベルを勉強した後、そう思うかどうかは、あなた次第です.以下、JSPのカスタムタグについて説明します.主にJSP 2のカスタムタグについて説明します.
2.一般的なカスタムラベルの開発
2.1開発手順
1)カスタムラベル処理クラスの開発
2)*を作成する.tldファイル、各*.tldファイルは1つのラベルライブラリに対応し、各ラベルライブラリには複数のラベルを含めることができる.
3)JSPファイルにカスタムタグを使用する
2.2開発例(一般)
1)ラベル類HelloWorldTagを作成する.java.このクラスは親javaxを継承します.servlet.jsp.tagext.SimpleTagSupport.,また、ラベルの要件は次のとおりです.
(a)ラベルクラスに属性が含まれている場合、各属性には対応するgetterメソッドとsetterメソッドがあります.
(b)ページコンテンツの生成を担当するdoTag()メソッドを書き換える
public class HelloWorldTag extends SimpleTagSupport
{
// doTag() ,
public void doTag()throws JspException,
IOException
{
// ,
getJspContext().getOut().write("Hello World "
+ new java.util.Date());
}
}
2)TLDファイルの作成
TLDファイルはラベルライブラリファイルなので、ラベルライブラリのルート要素はtaglibですが、複数のtagサブ要素が含まれています.T omcat 8.0のwebappsexamplesWEB-INFjsp 2の下にjsp 2-example-taglibがあります.tldファイル、これはTLDファイルの例です.次はmytaglibです.tldは、WebのWEB/パスの下に置きます.
<?xml version="1.0" encoding="GBK"?>
<taglib xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
version="2.1">
<tlib-version>1.0</tlib-version>
<short-name>mytaglib</short-name>
<!-- URI -->
<uri>http://www.linjw.taglib/mytaglib</uri>
<!-- -->
<tag>
<!-- -->
<name>helloWorld</name>
<!-- -->
<tag-class>com.linjw..HelloWorldTag</tag-class>
<!-- -->
<body-content>empty</body-content>
</tag>
</taglib>
3)ラベルライブラリの使用
(a)ラベルライブラリを使用するには、主に2つの側面があります.
Øラベルライブラリのインポート:taglibコンパイルコマンドを使用してラベルライブラリをインポートすることは、ラベルライブラリと指定した接頭辞を関連付けることです.
Ø使用ラベル:JSPページでカスタムラベルを使用する
(b)taglibを使用する構文フォーマットは次のとおりです.
<%@ taglib uri=”tagliburi” prefix=”tagPrefix”%>
(c)ラベルを使用する構文フォーマットは以下の通りである.
(d)次はhelloWorldTag.jsp
<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<!-- , mytag ,
URI http://www.linjw.taglib/mytaglib -->
<%@ taglib uri="http:// /www.linjw.taglib/mytaglib " prefix="mytag"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> </title>
<meta name="website" content="http://www.crazyit.org" />
</head>
<body bgcolor="#ffffc0">
<h2> </h2>
<!-- , mytag , taglib ,
mytag URI http:/ /www.linjw.taglib/mytaglib -->
<mytag:helloWorld/><br/>
</body>
</html>