国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JSP 自定義標簽之一 簡單實例

2020-07-27 21:40:48
字體:
來源:轉載
供稿:網友
在JSP中使用自定義標簽可以達到這樣的目的,事實上,我們所熟知的各類框架基本上都是通過自定義標簽的形式來實現的。
通過使用自定義標簽,我們可以將實現復雜的邏輯在頁面用簡單的標簽來加以展示。下面我們來實現一個非常簡單的自定義標簽,期望通過這個簡單的實例引領各位進入自定義標簽的領域。我們準備定義的這個自定義標簽所實現的功能是在JSP頁面中顯示出版權信息,并且在以后的博文中,我們還會對它進行升級改造。
首先,打開編輯器,創建以下Java代碼:
復制代碼 代碼如下:

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 = "顏志軍版權所有 &copy2008";
String info = new String(copyPre.getBytes(), "ISO8859_1");
pageContext.getOut().println(info);
}
catch(IOException e){}
return EVAL_PAGE;
}
}

上述代碼編輯完成后,編譯并生成class文件。并將編譯之后的字節碼文件連同包名一同放入準備使用當前標簽的WEB應用的WEB-INF/classes目錄之下。例如WEB應用在名為test的目錄之下,則將上述代碼編譯時生成的com目錄全部拷貝至test/WEB-INF/classes之下即可。
注意:在編譯上述代碼時,如果不是在集成的環境中進行,例如直接在命令行通過執行javac命令進行編譯工作,那么需要手工在環境變量CLASSPATH中添加包javax.servlet.jsp所在的位置,對于Tomcat而言,這個包的位置是Tomcat安裝目錄下lib目錄中的jsp-api.jar。
隨后將以下XML格式的文件存入到名為testlib.tld的文件中,文件testlib.tld要存儲于目錄WEB-INF/tlds之下。
復制代碼 代碼如下:

<?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>

至此,我們已經完成了一個自定義標簽,隨后我們就可以在JSP文件中對其進行使用了。例如有如下JSP文件:
復制代碼 代碼如下:

<%@ taglib uri="WEB-INF/tlds/testlib.tld" prefix="yzj" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>自定義標簽簡單示例</title>
</head>
<body>
<p>這里是正文內容</p>
<yzj:copyright/>
</body>
</html>

在瀏覽器中訪問該JSP文件,可以看到,在頁面底部,顯示了“顏志軍版權所有 ©2008”的信息,這正是我們定義的這個自己定義標簽的作用。
通過上面的過程,已經實現了自定義標簽,并對其進行使用測試。關于其原理、機制、要注意的細節等問題,在請等待隨后的博文。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 深州市| 嘉荫县| 洞头县| 吉隆县| 台北县| 大渡口区| 莱阳市| 永新县| 三门峡市| 景德镇市| 杭锦后旗| 得荣县| 商都县| 鱼台县| 保定市| 临西县| 吉木萨尔县| 商南县| 民和| 桂林市| 平和县| 鄂托克旗| 卓尼县| 随州市| 绥芬河市| 怀柔区| 新化县| 安新县| 汉中市| 平湖市| 桃江县| 天全县| 固原市| 长宁县| 岑巩县| 紫云| 平江县| 台南县| 嵊州市| 铜梁县| 广元市|