最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA/JSP學(xué)習(xí)系列之七

 更新時(shí)間:2006年10月09日 00:00:00   作者:  

一、前言 (本文譯自O(shè)rion官方站點(diǎn))

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

二、建立標(biāo)簽,實(shí)現(xiàn)該標(biāo)簽的功能。

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

package com.acme.mytags;

2.import相關(guān)class

import javax.servlet.jsp.*;

import javax.servlet.jsp.tagext.*;

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

public class HelloWorld implements Tag

{

4.定義局部變量

private PageContext pageContext;

private Tag parent;

5.調(diào)用標(biāo)簽開(kāi)始的實(shí)現(xiàn)方法

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

{

return SKIP_BODY;

}

注意:這個(gè)方法返回 SKIP_BODY,就是標(biāo)簽的body為空的時(shí)候,將返回這個(gè)值,否則將返回:EVAL_BODY_INCLUDE

6.調(diào)用標(biāo)簽結(jié)束的實(shí)現(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文件的自定義標(biāo)簽結(jié)束地方輸出“Hello World!”

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

public void release() {}

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

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

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

this.pageContext=pageContext;

}

JSP容器通過(guò)上面的方法調(diào)用標(biāo)簽,而且上面的方法用來(lái)設(shè)置標(biāo)簽的PageContext.

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

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

{

this.parent=parent;

}

JSP容器通過(guò)上面的方法設(shè)置標(biāo)簽的parent-Tag,因?yàn)槊總€(gè)標(biāo)簽的PageContext都要保留它的parent標(biāo)簽。

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

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

{

return parent;

}

}

11. 編譯標(biāo)簽。

三、描敘標(biāo)簽

現(xiàn)在將要寫(xiě)一個(gè)描敘文件,描敘該標(biāo)簽。

1.建立一個(gè)taglib.tld文件,

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


'http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd'>

3.描敘標(biāo)簽庫(kù)



1.0

1.1

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

My first Tag library

4.描敘標(biāo)簽



helloWorld

com.acme.mytags.HelloWorld

empty

A Hello world Tag



5.結(jié)束



四、打包

名稱為:mytags.jar

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

com/acme/mytags/HelloWorld.class

META-INF/taglib.tld

五、在jsp文件中使用自定義標(biāo)簽

建立hello.jsp如下:





















六、測(cè)試運(yùn)行

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

E:oriondefault-web-app ag

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

然后,訪問(wèn):

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(出處:viphot.com)

相關(guān)文章

最新評(píng)論

泸定县| 隆昌县| 饶阳县| 筠连县| 伊吾县| 宜春市| 定南县| 九龙坡区| 故城县| 西林县| 香港| 衡东县| 彰武县| 万年县| 白山市| 定南县| 饶平县| 永福县| 布尔津县| 富宁县| 台北市| 车险| 安顺市| 六枝特区| 鄂托克旗| 丰城市| 长春市| 高邮市| 长兴县| 民和| 阳曲县| 霍州市| 南开区| 深圳市| 佳木斯市| 松桃| 台湾省| 松潘县| 房产| 石阡县| 金秀|