亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

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

2020-07-27 21:54:49
字體:
來源:轉載
供稿:網友
一、前言 (本文譯自Orion官方站點)

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

二、建立標簽,實現該標簽的功能。

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

package com.acme.mytags;

2.import相關class

import javax.servlet.jsp.*;

import javax.servlet.jsp.tagext.*;

3.實現javax.servlet.jsp.tagext.Tag接口:

public class HelloWorld implements Tag

{

4.定義局部變量

private PageContext pageContext;

private Tag parent;

5.調用標簽開始的實現方法

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

{

return SKIP_BODY;

}

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

6.調用標簽結束的實現方法

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文件的自定義標簽結束地方輸出“Hello World!”

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

public void release() {}

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

8.JSP的容器要調用下面的方法:

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

this.pageContext=pageContext;

}

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

9.JSP的容器還要調用下面的方法:

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

{

this.parent=parent;

}

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

10.最后,實現方法:

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

{

return parent;

}

}

11. 編譯標簽。

三、描敘標簽

現在將要寫一個描敘文件,描敘該標簽。

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.結束

</taglib>

四、打包

名稱為:mytags.jar

其目錄結構為:

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目錄下,建立如下結構,其中,tag是自己建立的,前面的目錄是本來就有的。

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

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

然后,訪問:

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

將出現:


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


Hello World! 


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

七、恭喜,你已經成功了!

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩欧美在线看| 日本精品久久中文字幕佐佐木| 国产免费亚洲高清| 亚洲精品乱码久久久久久金桔影视| 国产一区二区三区四区福利| 日产精品久久久一区二区福利| 97香蕉超级碰碰久久免费的优势| 国产精品亚洲一区二区三区| 一区二区三区国产视频| 久久91精品国产| 国产精品日韩欧美综合| 精品国产乱码久久久久酒店| 精品国内自产拍在线观看| 欧亚精品在线观看| 97免费中文视频在线观看| 欧美性极品xxxx娇小| 欧美激情乱人伦| 久久亚洲一区二区三区四区五区高| 国产在线观看精品| 亚洲jizzjizz日本少妇| 日韩国产在线播放| 91亚洲一区精品| 亚洲桃花岛网站| 亚洲精品美女视频| 欧美中文在线视频| 免费av在线一区| 亚洲乱码国产乱码精品精天堂| 国产精品18久久久久久麻辣| 国产日韩欧美视频在线| 热99精品里视频精品| 日韩av片电影专区| 亚洲欧美日韩久久久久久| 久久久精品久久久| 一区二区在线视频| 在线精品播放av| 精品福利在线观看| 亚洲欧美中文日韩在线v日本| 日韩资源在线观看| 中文字幕亚洲综合久久| 精品国产91久久久| 日韩成人在线网站| 7m第一福利500精品视频| 日韩av在线一区二区| 国产精品视频专区| 亚洲二区中文字幕| 亚洲激情小视频| 91精品在线一区| 亚洲成年人影院在线| 国产精品精品国产| 欧美性jizz18性欧美| 黑丝美女久久久| 久久久国产在线视频| 77777少妇光屁股久久一区| 亚洲综合色av| 日韩色av导航| 成人亚洲欧美一区二区三区| 欧美国产第二页| 欧美日韩国产成人| 国产精品国内视频| 综合网日日天干夜夜久久| 日韩hd视频在线观看| 国产成人av网址| 日韩中文娱乐网| 日韩男女性生活视频| 91社区国产高清| 欧美亚洲成人网| 91久久久亚洲精品| 日韩在线视频一区| 亚洲天堂av在线免费观看| 欧美精品九九久久| 日韩av在线一区| 一区二区三区在线播放欧美| 欧美黑人狂野猛交老妇| 亚洲美女av黄| 亚洲欧美国产精品久久久久久久| 欧美有码在线视频| 国模私拍一区二区三区| 亚洲第一级黄色片| 国产一区二区在线免费视频| 久久久久久有精品国产| 欧美激情在线有限公司| 91精品久久久久久久久不口人| 欧美夫妻性视频| 国产精品盗摄久久久| 午夜精品久久久久久久99热| 九九视频这里只有精品| 国产成人精品国内自产拍免费看| 亚洲欧美国产精品久久久久久久| 欧美成aaa人片在线观看蜜臀| 亚洲最大的网站| 亚洲国产精品悠悠久久琪琪| 成人妇女免费播放久久久| 亚洲综合社区网| 欧美色videos| 亚洲女人初尝黑人巨大| 欧美性猛交xxxx免费看漫画| 精品亚洲一区二区三区在线观看| 欧美高跟鞋交xxxxhd| 成人免费福利在线| 成人黄色片在线| 亚洲美女视频网| 日韩精品在线私人| 色悠悠久久久久| 国产在线拍揄自揄视频不卡99| 国产精品小说在线| 日本久久久a级免费| 日韩av一区在线| 成人精品久久久| 97香蕉超级碰碰久久免费的优势| 国产精品私拍pans大尺度在线| 91精品国产免费久久久久久| 国产v综合ⅴ日韩v欧美大片| 51ⅴ精品国产91久久久久久| 91av在线影院| 91热福利电影| 伊人久久男人天堂| 亚洲成人av片在线观看| 91亚洲va在线va天堂va国| 久久五月天综合| 国产精品欧美日韩久久| 国产一区二区三区视频在线观看| 亚洲福利影片在线| 日韩精品免费观看| 日韩欧美在线网址| 日韩精品在线第一页| 久久久女人电视剧免费播放下载| 中文字幕在线日韩| www.久久撸.com| 日韩亚洲第一页| 欧美成人四级hd版| 2019精品视频| 欧美国产精品va在线观看| 日韩乱码在线视频| 国产精品视频一区国模私拍| 亚洲欧美国产制服动漫| 欧美激情欧美激情| 欧美在线视频观看免费网站| 综合国产在线视频| 日韩中文字幕网| 亚洲japanese制服美女| 精品国模在线视频| 欧美日韩另类在线| 欧美大码xxxx| 日韩欧美在线看| 国产一区二区久久精品| 久久不射热爱视频精品| 亚洲社区在线观看| 黑人巨大精品欧美一区二区一视频| 亚洲午夜精品久久久久久性色| 亚洲精品二三区| 国产成人短视频| 成人网在线视频| 日韩一区二区欧美| 色综合亚洲精品激情狠狠| 欧美性黄网官网| 国产精品日韩专区| 日日骚久久av| 热99久久精品| 欧美日韩国产色| 亚洲色图综合久久| 欧洲一区二区视频| 欧美激情精品久久久久久| 亚洲天堂av女优| 日韩中文字幕欧美|