12 实验十二 用户自定义标签
一. 实验目的
1. 了解什么是自定义标签;
2. 掌握使用SimpleTag和SimpleTagSuppot开发简单标签; 3. 了解传统自定义标签的接口和类的使用。 二. 实验内容
1. 开发一个简单的SimpleTag标签; 【步骤1】创建简单标签类
package mytags;
import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class MathTag extends SimpleTagSupport { int x = 289;
public void doTag() throws JspException, IOException { getJspContext().getOut().print(
\} }
【步骤2】创建taglib.tld文件,将其存放在WEB-INF目录中,内容如下:
xmlns:xsi=\ xsi:schemaLocation=\http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd\ version=\ Sends a math expression to the JSP
【步骤3】编写JSP页面math.jsp访问该标签,代码如下:
<%@ taglib prefix=\
该页面的运行结果如下:
图11.1 math.jsp页面的运行结果
2. 开发一个空标签,该标签显示一个红色星号 【步骤1】创建标签处理类
下面是RedStarTag标签的处理类的源代码:
package sampleLib;
import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class RedStarTag extends SimpleTagSupport {
public void doTag() throws JspException, IOException{ JspWriter out = getJspContext().getOut();
out.print(\ } }
【步骤2】创建标签库描述文件(TLD)
在WEB-INF目录中创建一个名为sampleLib.tld标签库描述文件,内容如下:
xmlns:xsi=\ xsi:schemaLocation=\http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd\ version=\
【步骤3】在JSP文件中引入标签库和使用标签
<%@ page contentType=\
<%@ taglib uri=\
请输入客户信息,带
3. 开发带属性的标签
【步骤1】创建标签处理类
package taglib;
import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class WelcomeTag extends SimpleTagSupport {
private String user;
public void setUser(String user) { this.user = user; }
public void doTag() throws JspException, IOException { JspWriter out = getJspContext().getOut(); try{
if (user==null)
out.print(\ else
out.print(\ } catch(Exception e){
throw new JspException(\ } } }
【步骤2】在TLD文件中对标签的定义
xmlns:xsi=\ xsi:schemaLocation=\http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd\ version=\
【步骤3】标签测试JSP页面welcome.jsp
<%@ taglib prefix=\