一、前言 (本文譯自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)簽的功 " /> 欧美日韩中文在线观看,色在线视频观看,中文字幕avav

四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

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


一、前言 (本文譯自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)

php技術(shù)JAVA/JSP學(xué)習(xí)系列之七,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 浙江卫视回放观看入口| 刘慧茹| 钱月笙| 变形金刚1原版免费观看| 社会主义改造理论ppt| 可爱的萝拉| a级毛片免费全部播放| 吴彦祖《偷窥无罪》| 致命玩笑| 一人之下动画| 追龙演员表全部名单| 杨采钰电影| 邵雨薇为艺术做出贡献的电影有哪些| 野浪花| 陈一龙是哪部电视剧| 可爱的萝拉| 企鹅头像| 热天午后| 从此以后歌词| jayden jaymes| 母亲电影韩国完整版免费观看| 正在直播乒乓赛事| 欧比旺·克诺比| 每天一分钱每天翻一倍连续30天| 洪金宝电影| 月亮电影| 孙启皓| 林书宇| 来势凶猛| 电影一对一| ..1.| 学生肉体还债电影| 黄网站免费观看| 欧美黑人天堂av在线| 高达w| 裸舞在线观看| xxoo电影| 山楂树简谱| 少妇荡乳情欲办公室| 免费播放高清完整版电影| 吻胸吃胸激情舌吻|