您的位置:首页 > 编程语言 > Java开发

Java_JSP2如何进行自定义标签?

2014-10-28 14:58 260 查看
特别说明:如果能帮助到您,请您留下点滴痕迹,让我知道我的存在是有意义的;如果不能帮助到您,请接受我的歉意;

文章简介:本文会简单提到在JSP2中,如何自定义标签处理类;如何创建标签库;如何使用自定义的标签;

一、标签处理类

=>HelloWorldTag.java

<span style="font-size:14px;">package lee;

import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;
/**
* HelloWorldTag_class
* description:标签处理类
* @date 11:49 2014-10-28
* @author cyb_23
* @version 1.0
*/
public class HelloWorldTag extends SimpleTagSupport
{
//重写doTag方法,该方法在标签结束生成页面内容
public void doTag() throws JspException,IOException
{
//获取页面输出流,并输出字符串
getJspContext().getOut().write("Hello World " + new java.util.Date());
}
}
</span>切记:在定义标签处理类时要记得继承SimpleTagSupport父类;重写doTag()方法,此方法负责生成页面内容;

二、标签库创建

=>mytaglib.tld<?xml version="1.0" encoding="GBK"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<short-name>mytaglib</short-name>
<!-- 定义标签库URI -->
<uri>http://blog.csdn.net/cyb_23/mytaglib</uri>

<!-- 定义第一个标签 -->
<tag>
<!-- 定义标签名 -->
<name>helloWorld</name>
<!-- 定义标签处理类 -->
<tag-class>lee.HelloWorldTag</tag-class>
<!-- 定义标签体为空 -->
<body-content>empty</body-content>
</tag>
</taglib>


三、标签使用

=>helloWorldTag.jsp

<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<!-- 导入标签库,指定mytag前缀的标签,由http://blog.csdn.net/cyb_23/mytaglib的标签库处理 -->
<%@ taglib uri="http://blog.csdn.net/cyb_23/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://blog.csdn.net/cyb_23" />
</head>
<body bgcolor="#ffffc0">
<h2>自定义标签内容</h2>
<!-- 使用标签:其中mytag是标签前缀,根据taglib的编译指令,mytag前缀将由http://blog.csdn.net/cyb_23/mytaglib的标签库处理 -->
<mytag:helloWorld/><br/>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: