天天看點

java自定義标簽簡單,JavaWeb_簡單标簽(自定義标簽)HelloWorld

傳統标簽和簡單标簽

可發自定義标簽,其核心就是編寫處理器類,一個标簽對應一個标簽處理器類,而一個标簽庫則是很多标簽處理器的集合。所有标簽處理器類都要實作JspTag接口,該接口沒有定義任何方法,主要作為Tag和SimpleTag接口的父接口。

在JSP2.0以前,所有标簽處理器類都必須實作Tag接口,這樣的标簽稱為傳統标簽。

JSP2.0規範又定義了一種新的類型的标簽,稱為簡單标簽,其對應的處理器類要實作SimpleTag接口

自定義标簽的開發與應用步驟

編寫完成标簽功能的Java類(标簽處理器)

編寫标簽庫描述(tld)檔案,在tld檔案中對自定義中進行描述

在JSP頁面中導入和使用自定義标簽

自定義标簽

(1)建立一個标簽處理器類:實作SimpleTag接口

(2)在WEB-INF檔案夾下建立一個.tld(标簽庫描述檔案)為擴充名的xml檔案。

java自定義标簽簡單,JavaWeb_簡單标簽(自定義标簽)HelloWorld

(3)在tld檔案中描述自定義的标簽:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"

version="2.1">

1.0

myshortname

http://mycompany.com

hello

com.demo.tag.HelloSimpleTag

empty

(4)在JSP頁面上使用自定義标簽

》使用taglib指令導入标簽庫描述檔案

》使用自定義的标簽:

需要導入兩個包:

javax.servlet.jsp.jstl

javax.servlet.jsp.jstl-api

1.2.2

taglibs

standard

1.1.2

建立一個類實作SimpleTag接口

package com.demo.tag;

import javax.servlet.jsp.JspContext;

import javax.servlet.jsp.JspException;

import javax.servlet.jsp.tagext.JspFragment;

import javax.servlet.jsp.tagext.JspTag;

import javax.servlet.jsp.tagext.SimpleTag;

import java.io.IOException;

public class HelloSimpleTag implements SimpleTag {

@Override

public void doTag() throws JspException, IOException {

System.out.println("doTag");

}

@Override

public void setParent(JspTag jspTag) {

System.out.println("setParent");

}

@Override

public JspTag getParent() {

System.out.println("getParent");

return null;

}

@Override

public void setJspContext(JspContext jspContext) {

System.out.println("setJspContext");

}

@Override

public void setJspBody(JspFragment jspFragment) {

System.out.println("setJspBody");

}

}