在JSP中使用自定義標(biāo)簽可以達(dá)到這樣的目的,事實(shí)上,我們所熟知的各類框架基本上都是通過自定義標(biāo)簽的形式來實(shí)現(xiàn)的。
通過使用自定義標(biāo)簽,我們可以將實(shí)現(xiàn)復(fù)雜的邏輯在頁面用簡單的標(biāo)簽來加以展示。下面我們來實(shí)現(xiàn)一個非常簡單的自定義標(biāo)簽,期望通過這個簡單的實(shí)例引領(lǐng)各位進(jìn)入自定義標(biāo)簽的領(lǐng)域。我們準(zhǔn)備定義的這個自定義標(biāo)簽所實(shí)現(xiàn)的功能是在JSP頁面中顯示出版權(quán)信息,并且在以后的博文中,我們還會對它進(jìn)行升級改造。
首先,打開編輯器,創(chuàng)建以下Java代碼:
復(fù)制代碼 代碼如下:
package com.yanzhijun;
import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class CopyRightTag extends TagSupport
{
public int doEndTag()
{
try
{
String copyPre = "顏志軍版權(quán)所有 ©2008";
String info = new String(copyPre.getBytes(), "ISO8859_1");
pageContext.getOut().println(info);
}
catch(IOException e){}
return EVAL_PAGE;
}
}
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>yzj</shortname>
<tag>
<name>copyright</name>
<tagclass>com.yanzhijun.CopyRightTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute/>
</tag>
</taglib>
復(fù)制代碼 代碼如下:
<%@ taglib uri="WEB-INF/tlds/testlib.tld" prefix="yzj" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>自定義標(biāo)簽簡單示例</title>
</head>
<body>
<p>這里是正文內(nèi)容</p>
<yzj:copyright/>
</body>
</html>
新聞熱點(diǎn)
疑難解答
圖片精選