ホームページ  >  記事  >  Java  >  JSPカスタムタグの用途は何ですか

JSPカスタムタグの用途は何ですか

(*-*)浩
(*-*)浩オリジナル
2019-05-16 10:55:483770ブラウズ

カスタム JSP タグは通常、再利用するために使用されます。たとえば、ページ コードのメンテナンスを容易にするために、同じ関数を異なるページの同じコードに記述する必要はありません。カスタム タグはユーザー定義の JSP 言語要素です。カスタムタグを定義するための構文は「」です。

JSPカスタムタグの用途は何ですか

# カスタム タグは、ユーザー定義の JSP 言語要素です。 JSP ページにサーブレットに変換されるカスタム タグが含まれている場合、そのタグはタグ ハンドラと呼ばれるオブジェクトに対する操作に変換されます。これは、サーブレットの実行時に Web コンテナが呼び出す操作です。カスタム JSP タグは通常、再利用するためのもので、たとえば、異なるページで同じコードに同じ関数を記述する必要がなく、ページ コードのメンテナンスが容易になります。

推奨コース:

Java チュートリアル

JSP タグ拡張機能を使用すると、新しいタグを作成し、JSP ページに直接挿入できます。これらのカスタム タグを記述するために、シンプル タグ ハンドラーが JSP 2.0 仕様で導入されました。

SimpleTagSupport クラスを継承し、doTag() メソッドをオーバーライドして、最も単純なカスタム タグを開発できます。

「Hello」タグの作成

次に、 という名前のカスタム タグを作成します。タグの形式は次のとおりです。

<span style='font-family: "Microsoft Yahei", "Hiragino Sans GB", Helvetica, "Helvetica Neue", 微软雅黑, Tahoma, Arial, sans-serif;'><ex:Hello /></span>    <br>
カスタム JSP タグを作成するには、まずタグを処理する Java クラスを作成する必要があります。そこで、次のように HelloTag クラスを作成しましょう:

package com.runoob;

import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;

public class HelloTag extends SimpleTagSupport {

 public void doTag() throws JspException, IOException {
   JspWriter out = getJspContext().getOut();
   out.println("Hello Custom Tag!");
 }
}
次のコードは、getJspContext() メソッドを使用して現在の JspContext オブジェクトを取得し、「Hello Custom Tag!」を置き換える doTag() メソッドをオーバーライドします。 JspWriter オブジェクトに渡されます。

上記のクラスをコンパイルし、環境変数 CLASSPATH ディレクトリにコピーします。最後に、タグ ライブラリ webapps\ROOT\WEB-INF\custom.tld を作成します。

<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>com.runoob.HelloTag</tag-class>
   <body-content>empty</body-content>
 </tag>
</taglib>

次に、JSP ファイルで Hello タグを使用できます:

<%@ taglib prefix="ex" uri="WEB-INF/custom.tld"%><html> <head>   <title>A sample custom tag</title> </head> <body>   <ex:Hello/> </body></html>

上記のプログラムの出力結果は次のとおりです: rreee

以上がJSPカスタムタグの用途は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。