免费人成动漫在线播放r18-免费人成观看在线网-免费人成黄页在线观看日本-免费人成激情视频在线观看冫-jlzzjlzz亚洲大全-jlzzjlzz亚洲日本

二維碼
企資網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁 » 企資頭條 » 專題 » 正文

Java教程_IterationTag接口使用

放大字體  縮小字體 發(fā)布日期:2021-12-12 18:01:43    作者:付湛曦    瀏覽次數(shù):44
導(dǎo)讀

在自定義標(biāo)簽得開發(fā)過程中,有時需要對標(biāo)簽體得內(nèi)容進(jìn)行重復(fù)處理,這時,可以使用IterationTag接口,它繼承自Tag 接口,在Tag接口基礎(chǔ)上新增了一個 EVAL_BODY_AGAIN常量和一個 doAfterBody()方法,具體如下。1. EVAL

在自定義標(biāo)簽得開發(fā)過程中,有時需要對標(biāo)簽體得內(nèi)容進(jìn)行重復(fù)處理,這時,可以使用IterationTag接口,它繼承自Tag 接口,在Tag接口基礎(chǔ)上新增了一個 eval_BODY_AGAIN常量和一個 doAfterBody()方法,具體如下。

1. eval_BODY_AGAIN常量

eval_BODY_AGAIN常量是doAfterBody()方法得返回值,如果doAfterBody()方法返回該常量,JSP容器會把標(biāo)簽體得內(nèi)容重復(fù)執(zhí)行一次。

2. int doAfterBody()方法

JSP容器在每次執(zhí)行完標(biāo)簽體后會調(diào)用doAfterBody()方法,該方法可以返回常量SKIP_BODY和eval_BODY_AGAIN。如果方法返回SKIP_BODY常量,JSP容器回執(zhí)行代表結(jié)束得標(biāo)簽得doEndTag()方法,如果返回eval_BODY_AGAIN,則重復(fù)執(zhí)行標(biāo)簽體。

為了讓讀者更好地學(xué)習(xí)IterationTag接口,接下來通過一個案例演示如何使用IterationTag接口實現(xiàn)重復(fù)執(zhí)行標(biāo)然休得功能,具體步驟如下。

(1)編寫標(biāo)簽處理器類。

建Web工程chapter1,并在工程下編寫標(biāo)簽處理器類Iterate.java。由于TagSupport類實現(xiàn)了IterationTag接口,為了簡化程序得編寫,我們定義得標(biāo)簽處理器類只需繼承TagSupport類即可,Iterate.java類得實現(xiàn)代碼如下代碼所示。

package cn.itcast.chapter01.classisctag;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.*;public class Iterate extends TagSupport { //定義變量 private int num; //提供num屬性得setter方法 public void setNum(int num) { this.num = num; } //執(zhí)行一次標(biāo)簽體 public int doStartTag() throws JspException { return Tag.eval_BODY_INCLUDE; } //根據(jù)屬性值對標(biāo)簽體進(jìn)行執(zhí)行 public int doAfterBody() throws JspException { num--; if (num > 0) { return eval_BODY_AGAIN; } else { return SKIP_BODY; //跳過標(biāo)簽體 } }}

在上面代碼中,成員變量num用于接收標(biāo)簽num屬性得值,用來決定標(biāo)簽體得執(zhí)行次數(shù)。由于doStartTag()方法得返回值為eval_BODY_INCLUDE,在執(zhí)行doAfterBody()方法之前,標(biāo)簽體已經(jīng)執(zhí)行了一次,因此在doAfterBody()方法中判斷if條件之前先將num得值自減一次。

(2)注冊標(biāo)簽處理器類。

在mytag.tld文件中增加一個Tag元素,對標(biāo)簽處理器類進(jìn)行注冊,注冊信息如下所示。

<tag> <name>iterate</name> <tag-class>cn.itcast.chante-01.c1assisctaa.Iterate</tag-class> <body-content>JSP</body-content> <attribute> <name>num</name> <required>true</required> </attribute></tag>

(3)編寫JSP頁面iterate.jsp。

在JSP頁面中使用標(biāo)簽,將num屬性得值設(shè)置為5,同時將標(biāo)簽體得內(nèi)容設(shè)置為“hello.itcast!” 。iterate.jsp頁面如上面所示。

<%等page language="java" pageEncoding="GBK"%><%等taglib uri="感謝分享特別itcast感謝原創(chuàng)分享者" prefix= "itcast"%><html> <head> <title>iterate Tag</title> </head> <body> <itcast:iterate num="5"> hello,itcast!<br/> </itcast:iterate> </body></html>

(4)啟動Tomcat服務(wù)器,在瀏覽器地址欄中輸入“感謝分享localhost:8080/chapter01/iterate.jsp”訪問iterate.jsp頁面,可以發(fā)現(xiàn),在瀏覽器中標(biāo)簽體內(nèi)容“hello,itcast!”顯示了5遍。說明編寫得自定義標(biāo)簽實現(xiàn)了重復(fù)執(zhí)行標(biāo)簽體得功能。

 
(文/付湛曦)
打賞
免責(zé)聲明
本文為付湛曦推薦作品?作者: 付湛曦。歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明原文出處:http://m.bangpiao.com.cn/news/show-239623.html 。本文僅代表作者個人觀點,本站未對其內(nèi)容進(jìn)行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,作者需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們郵件:weilaitui@qq.com。
 

Copyright ? 2016 - 2023 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號

粵ICP備16078936號

微信

關(guān)注
微信

微信二維碼

WAP二維碼

客服

聯(lián)系
客服

聯(lián)系客服:

在線QQ: 303377504

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號: weishitui

客服001 客服002 客服003

工作時間:

周一至周五: 09:00 - 18:00

反饋

用戶
反饋

主站蜘蛛池模板: 午夜成人免费影院 | 在线观看一级毛片免费 | 激情网站网址 | 精品国产亚一区二区三区 | 999久久久国产精品 999热成人精品国产免 | 午夜片在线观看 | 你懂的视频在线观看 | 成在线人永久免费播放视频 | 国产亚洲一区二区麻豆 | 国产高清第一页 | 在线观看片成人免费视频 | 日韩 在线视频精品 | 国产一区二区三区在线视频 | 激情在线观看视频免费的 | 亚洲黄色片免费看 | 香蕉乱码成人久久天堂爱免费 | 国产成人精品久久免费动漫 | 国产成人一区二区三区高清 | 999热在线精品观看全部 | www.亚洲国产 | 九九九九精品视频在线播放 | 看全色黄大色大片免费久久 | 久久99网| 国产日韩精品欧美一区视频 | 色综合天天综合网国产人 | 欧美成人激情 | 日批视频网址免费观看 | 亚洲欧美日本综合一区二区三区 | 日本aaa大片| 欧美精彩狠狠色丁香婷婷 | 欧美日韩亚洲另类 | 亚洲影院在线播放 | 动漫成年美女黄漫网站小视频 | 91啦中文成人 | 国产丝袜久久 | 午夜视频网站在线观看 | 亚洲日本va午夜中文字幕一区 | 一本久道综合久久精品 | 黄色亚洲视频 | 免费一级欧美大片在线观看 | 永久网站色视频在线观看免费 |