<strike id="ca4is"><em id="ca4is"></em></strike>
  • <sup id="ca4is"></sup>
    • <s id="ca4is"><em id="ca4is"></em></s>
      <option id="ca4is"><cite id="ca4is"></cite></option>
    • 二維碼
      企資網

      掃一掃關注

      當前位置: 首頁 » 企業資訊 » 經驗 » 正文

      Java教程_IterationTag接口使用

      放大字體  縮小字體 發布日期:2021-12-12 18:01:43    作者:付湛曦    瀏覽次數:74
      導讀

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

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

      1. eval_BODY_AGAIN常量

      eval_BODY_AGAIN常量是doAfterBody()方法得返回值,如果doAfterBody()方法返回該常量,JSP容器會把標簽體得內容重復執行一次。

      2. int doAfterBody()方法

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

      為了讓讀者更好地學習IterationTag接口,接下來通過一個案例演示如何使用IterationTag接口實現重復執行標然休得功能,具體步驟如下。

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

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

      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; } //執行一次標簽體 public int doStartTag() throws JspException { return Tag.eval_BODY_INCLUDE; } //根據屬性值對標簽體進行執行 public int doAfterBody() throws JspException { num--; if (num > 0) { return eval_BODY_AGAIN; } else { return SKIP_BODY; //跳過標簽體 } }}

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

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

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

      <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頁面中使用標簽,將num屬性得值設置為5,同時將標簽體得內容設置為“hello.itcast!” 。iterate.jsp頁面如上面所示。

      <%等page language="java" pageEncoding="GBK"%><%等taglib uri="特別itcast" prefix= "itcast"%><html> <head> <title>iterate Tag</title> </head> <body> <itcast:iterate num="5"> hello,itcast!<br/> </itcast:iterate> </body></html>

      (4)啟動Tomcat服務器,在瀏覽器地址欄中輸入“localhost:8080/chapter01/iterate.jsp”訪問iterate.jsp頁面,可以發現,在瀏覽器中標簽體內容“hello,itcast!”顯示了5遍。說明編寫得自定義標簽實現了重復執行標簽體得功能。

       
      (文/付湛曦)
      免責聲明
      本文僅代表作發布者:付湛曦個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
       

      Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

      粵ICP備16078936號

      微信

      關注
      微信

      微信二維碼

      WAP二維碼

      客服

      聯系
      客服

      聯系客服:

      在線QQ: 303377504

      客服電話: 020-82301567

      E_mail郵箱: weilaitui@qq.com

      微信公眾號: weishitui

      客服001 客服002 客服003

      工作時間:

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

      反饋

      用戶
      反饋

      午夜久久久久久网站,99久久www免费,欧美日本日韩aⅴ在线视频,东京干手机福利视频
        <strike id="ca4is"><em id="ca4is"></em></strike>
      • <sup id="ca4is"></sup>
        • <s id="ca4is"><em id="ca4is"></em></s>
          <option id="ca4is"><cite id="ca4is"></cite></option>
        • 主站蜘蛛池模板: 黄网站色成年片大免费高清| 久久九九AV免费精品| 亚洲国产精品成人久久久| 99久久国产综合精品swag| 狠狠色噜噜狠狠狠狠98| 日韩加勒比一本无码精品| 国产精品va在线观看一| 亚洲乱码一区二区三区在线观看| xxxxx在线| 男女一进一出猛进式抽搐视频| 婷婷开心深爱五月天播播| 免费在线观看a级片| sss视频在线精品| 精品欧美一区二区三区免费观看 | 欧美日韩在线国产| 国产色无码精品视频免费| 亚洲国产综合在线| 日本激情一区二区三区| 日韩成人免费视频播放| 国产后入又长又硬| 久久久久久人妻一区精品| 老司机午夜精品视频在线观看免费| 手机在线观看av片| 国产国产成人久久精品杨幂| 久久亚洲国产成人精品无码区| 色综合视频一区二区三区| 成a人片亚洲日本久久| 国产乱子伦手机在线| 久久精品中文字幕大胸| 草莓视频在线免费 | 亚洲国产精品日韩专区av| 免费看黄的网页| 日本videoshd高清黑人| 半甜欲水兄妹np| 久久99久久99精品免视看动漫| 美女被啪羞羞视频网站| 好硬好爽好湿好深视频| 亚洲日韩一页精品发布| 黑人精品videos亚洲人| 晓青老师的丝袜系列txt下载| 国产精品久久久久久久福利院|