濮阳杆衣贸易有限公司

主頁 > 知識庫 > JAVA/JSP學習系列之七(Orion下自定義Tag)

JAVA/JSP學習系列之七(Orion下自定義Tag)

熱門標簽:珠海銷售外呼系統(tǒng)運營商 電銷外呼系統(tǒng) 排行榜 山東智能云外呼管理系統(tǒng) 地圖標注制作道路 地圖標注創(chuàng)業(yè)項目入駐 長春回撥外呼系統(tǒng)廠家 廣州三五防封電銷卡 四川電信外呼系統(tǒng)靠譜嗎 外呼系統(tǒng)啥意思
一、前言 (本文譯自Orion官方站點)

   本文將一步一步介紹在Orion Application Server下定義自己的標簽,然后,實現(xiàn)該標簽的功能,最后用一個jsp例子測試。

二、建立標簽,實現(xiàn)該標簽的功能。

1.命名package為:com.acme.mytags(為了和原文相同,我不做改動)

package com.acme.mytags;

2.import相關(guān)class

import javax.servlet.jsp.*;

import javax.servlet.jsp.tagext.*;

3.實現(xiàn)javax.servlet.jsp.tagext.Tag接口:

public class HelloWorld implements Tag

{

4.定義局部變量

private PageContext pageContext;

private Tag parent;

5.調(diào)用標簽開始的實現(xiàn)方法

public int doStartTag() throws javax.servlet.jsp.JspException

{

return SKIP_BODY;

}

注意:這個方法返回 SKIP_BODY,就是標簽的body為空的時候,將返回這個值,否則將返回:EVAL_BODY_INCLUDE

6.調(diào)用標簽結(jié)束的實現(xiàn)方法

public int doEndTag() throws javax.servlet.jsp.JspException

{

try

{

pageContext.getOut().write("Hello World!");

}

catch(java.io.IOException e)

{

throw new JspException("IO Error: " + e.getMessage());

}

return EVAL_PAGE;

}

這樣將在jsp文件的自定義標簽結(jié)束地方輸出“Hello World!”

7.還不夠,我們還要寫下面的方法:

public void release() {}

對于本簡單的例子,上面的方法不需要任何實現(xiàn)。

8.JSP的容器要調(diào)用下面的方法:

public void setPageContext(final javax.servlet.jsp.PageContext pageContext) {

this.pageContext=pageContext;

}

JSP容器通過上面的方法調(diào)用標簽,而且上面的方法用來設置標簽的PageContext.

9.JSP的容器還要調(diào)用下面的方法:

public void setParent(final javax.servlet.jsp.tagext.Tag parent)

{

this.parent=parent;

}

JSP容器通過上面的方法設置標簽的parent-Tag,因為每個標簽的PageContext都要保留它的parent標簽。

10.最后,實現(xiàn)方法:

public javax.servlet.jsp.tagext.Tag getParent()

{

return parent;

}

}

11. 編譯標簽。

三、描敘標簽

現(xiàn)在將要寫一個描敘文件,描敘該標簽。

1.建立一個taglib.tld文件,

2.taglib.tld是一個XML格式的文本文件,XML的頭如下:

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

3.描敘標簽庫

taglib>

tlibversion>1.0/tlibversion>

jspversion>1.1/jspversion>

shortname>mt/shortname> uri>http://www.orionserver.com/tutorials/tagtut/lesson1/mytags.jar/uri>

info>My first Tag library/info>

4.描敘標簽

tag>

name>helloWorld/name>

tagclass>com.acme.mytags.HelloWorld/tagclass>

bodycontent>empty/bodycontent>

info>A Hello world Tag/info>

/tag>

5.結(jié)束

/taglib>

四、打包

名稱為:mytags.jar

其目錄結(jié)構(gòu)為:

com/acme/mytags/HelloWorld.class

META-INF/taglib.tld

五、在jsp文件中使用自定義標簽

建立hello.jsp如下:

%@ taglib uri="mytags.jar" prefix="mt" %>

HTML>

HEAD>

TITLE>Hello World!/TITLE>

/HEAD> BODY BGCOLOR="#FFFFFF">

HR>

mt:helloWorld/>

HR>

/BODY>

/HTML>

六、測試運行

在orion目錄下,建立如下結(jié)構(gòu),其中,tag是自己建立的,前面的目錄是本來就有的。

E:\orion\default-web-app\tag

將jar文件和jsp文件全部放到這個目錄下。

然后,訪問:

http://localhost:[port]/tag/hello.jsp

將出現(xiàn):


--------------------------------------------------------------------------------


Hello World! 


--------------------------------------------------------------------------------

七、恭喜,你已經(jīng)成功了!

附:mytags.jar和hello.jsp 文件本站下載地址:

http://www.wodejia.net/softdownload/java/orion_tag01.zip

標簽:肇慶 保定 北海 廣元 紹興 玉樹 吳忠 潮州

巨人網(wǎng)絡通訊聲明:本文標題《JAVA/JSP學習系列之七(Orion下自定義Tag)》,本文關(guān)鍵詞  JAVA,JSP,學習,系列,之,七,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JAVA/JSP學習系列之七(Orion下自定義Tag)》相關(guān)的同類信息!
  • 本頁收集關(guān)于JAVA/JSP學習系列之七(Orion下自定義Tag)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    怀集县| 原平市| 慈溪市| 清涧县| 阳泉市| 黑水县| 洪湖市| 湄潭县| 白河县| 澳门| 涡阳县| 天长市| 永嘉县| 曲沃县| 澳门| 环江| 三明市| 厦门市| 石城县| 嘉义市| 黔江区| 抚远县| 神木县| 三门峡市| 务川| 阿克陶县| 晋宁县| 桂平市| 民丰县| 东乌| 平陆县| 望江县| 永定县| 石首市| 房产| 西和县| 石泉县| 蒙自县| 彰武县| 剑阁县| 宁河县|