亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jsp(day03).txt

?? 這是我們上課學(xué)習(xí)jsp時的上課筆記
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
2,寫標(biāo)簽庫定義文件,也就是定義標(biāo)簽的格式規(guī)范,也要符合自定義標(biāo)簽的規(guī)范 xxx.tld
3,建上述兩步中的相應(yīng)   文件進行部署。web.xml

tld文件中的配置
  <tag>
    <name>loop</name>
    <tag-class>com.tag.LoopTag</tag-class>
    <body-content>jsp</body-content>
    <!--設(shè)定自定義標(biāo)簽體內(nèi)的內(nèi)容,可以置為empty,也就是只能寫空標(biāo)簽-->
    <attribute>
      <name>counter</name><!--配置自定義標(biāo)簽的屬性名-->
      <required>true</required><!--配置屬性是否必須出現(xiàn)-->
      <rtexprvalue>true</rtexprvalue><!--允許使用表達(dá)式作為屬性的值-->
      <type>int<type><!--配置屬性的類型-->
      </attribute>
  </tag>


簡單的標(biāo)簽處理程序類

1,必須實現(xiàn)Tag接口的doStartTag()和doEndTag()方法;
2,因為不存在Body,doStartTag()方法必須返回SKIP_BODY;
3,如其余頁面要執(zhí)行,doEndTag()方法返回EVAL_PAGE, 否則返回SKIP_PAGE;
4,對于每一個標(biāo)簽屬性,你必須在標(biāo)簽處理程序類里定義一個特性以及get和set方法以一致于JavaBeans   體系慣例

帶Body的自定義標(biāo)簽

1,必須實現(xiàn)Tag接口的doStartTag()和doEndTag()方法;
2,可以實現(xiàn)IterationTag接口的doAfterBody()方法;
3,可以實現(xiàn)BodyTag接口的doInitBody和setBodyContent方法;
4,doStartTag方法可以返回SKIP_BODY、EVAL_BODY_INCLUDE、或者EVAL_BODY_BUFFERED(當(dāng)你想使用     BodyContent);
5,doEndTag方法可以返回SKIP_PAGE或EVAL_PAGE;
6,doAfterBody方法可以返回EVAL_BODY_AGAIN, SKIP_BODY;

定義腳本變量的標(biāo)簽(迭代標(biāo)簽)

1,定義腳本標(biāo)簽的二個步驟:   
   . 在標(biāo)記庫描述符(TLD)文件中列明腳本變量;   
   . 定義標(biāo)簽擴展信息類(TEI)并且在TLD文件中包括這個類元素(tei-class);
2,變量必須在標(biāo)簽處理程序類中使用pageContext.setAttribute()方法設(shè)置;
3,標(biāo)簽擴展信息類(TEI)必須繼承TagExtraInfo以及覆蓋getVariableInfo()方法;
4,變量的范圍可以是AT_BEGIN, NESTED, AT_END(標(biāo)簽擴展信息類(TEI)的VariableInfo中定義)之一;

腳本變量的有效性
變量     |   有效性                    
---------------------------------------
NESTED   | 標(biāo)簽中的參數(shù)在starttag到endtag之間是有效的
AT_BEGIN | 標(biāo)簽中的參數(shù)在標(biāo)簽的開始到JSP頁面結(jié)束是有效的
AT_END   | 標(biāo)簽中的參數(shù)在標(biāo)簽的結(jié)束到JSP頁面結(jié)束是有效的 

Tag接口的方法

interface javax.servlet.jsp.tagext.Tag
------------------------------------------------------
+EVAL_BODY_INCLUDE:int
+EVAL_PAGE:int//繼續(xù)執(zhí)行頁面
+SKIP_BODY:int//跳出標(biāo)簽體
+SKIP_PAGE:int//跳出頁面,也就是整個JSP不會再運行
------------------------------------------------------
+release():void
+getParent():javax.servlet.jsp.tagext.Tag
+setParent(javax.servlet.jsp.tagext.Tag):void
+doEndTag():int
+doStartTag():int
+setPageContext(javax.servlet.jsp.PageContext):void

Tag的生命周期

1,setPageContext(javax.servlet.jsp.PageContext):void
2,setParent(javax.servlet.jsp.tagext.Tag):void
3,setAttribute:void
4,doStartTag():int
5,doEndTag():int
6,release():void

BodyTag和Tag接口的關(guān)系

interface javax.servlet.jsp.tagext.BodyTag-->interface javax.servlet.jsp.tagext.Tag
------------------------------------------
+EVAL_BODY_AGAIN:int//繼續(xù)執(zhí)行標(biāo)簽體
-----------------------------------------
+doInitBody():void
+setBodyContent(javax.servlet.jsp.tagext.BodyContext):void
+doAfterBody():int

BodyTag的處理過程

1,setPageContext(javax.servlet.jsp.PageContext):void
2,setParent(javax.servlet.jsp.tagext.Tag):void //設(shè)置此標(biāo)簽的父標(biāo)簽,也就是上一層標(biāo)簽
3,setParent()
4,doStartTag():int
5,setBodyContent(javax.servlet.jsp.tagext.BodyContent):void//設(shè)置方法體
6,doInitBody():void//
7,doAfterBody():int
/* 這個方法會被不斷的調(diào)用直到不再滿足條件,通過這個方法來控制返回,從而控制循環(huán)是否中斷
  SKIP_BODY是跳出標(biāo)簽體的,EVAL_BODY_INCLUDE是繼續(xù)執(zhí)行標(biāo)簽體,通過返回這兩個值來控制循環(huán)是否*/
8,doEndTag():int
9,release():void

SimpleTag接口的方法

javax.servlet.jsp.tagext.SimpleTag
------------------------------------------
+doTag():void
+getParent():JspTag
+setJspBody(JspFragment jspBody):void 
+setJspContext(JspContext pc):void
+setParent(JspTag parent):void

SimpleTage接口的生命周期(JSP2.0的自定義標(biāo)簽接口)
1,new:       
   每次遇到標(biāo)簽,容器構(gòu)造一個SimpleTag的實例,這個構(gòu)造方法沒有參數(shù)。和紅典的標(biāo)簽一樣,          SimpleTag不能緩沖,故不能重用,每次都需要構(gòu)造新的實例。
2,setJspContext()、setParent(): 只有這個標(biāo)簽在另一個標(biāo)簽之,才調(diào)用setParent()方法;
3,設(shè)置屬性:調(diào)用每個屬性的setter方法;
4,setJspBody();
5,doTag(): 所有標(biāo)簽的邏輯、迭代和Body計算,都在這個方法中;
6,return

例:

package com.tag;
public class HelloTag implements Tag
{
	 private PageContext pageContext;
	 private Tag parent;
	 
     public HelloTag(){  
	   super();
     }
     
    /**
      *設(shè)置標(biāo)簽的頁面的上下文
      */
     public void setPageContext(final PageContext pageContext) { 
           this.pageContext=pageContext;  
     }
    /**
      *設(shè)置上一級標(biāo)簽
      */
     public void setParent(final Tag parent) {   
          this.parent=parent;   
     }
     /**
      *開始標(biāo)簽時的操作
      */
     public int doStartTag() throws JspTagException{   
          return SKIP_BODY;  //返回SKIP_BODY,表示不計算標(biāo)簽體
     }
     /**
      *結(jié)束標(biāo)簽時的操作
      */
     public int doEndTag() throws JspTagException{
     	  try{   
     	       pageContext.getOut().write("Hello World!你好,世界!");
     	  }      	       
          catch(java.io.IOException e){
          	  throw new JspTagException("IO Error: " + e.getMessage());
          }  
          return EVAL_PAGE; 
      }
     /**
      *release用于釋放標(biāo)簽程序占用的資源,比如使用了數(shù)據(jù)庫,那么應(yīng)該關(guān)閉這個連接。
      */
     public void release() {}    
     public Tag getParent(){    
        return parent;
     }
}

xxx.tld

<?xml version="1.0" encoding="ISO-8859-1" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
    version="2.0">
  
  <tag>
    <description>Extends TagSupport</description>
    <name>hello</name>
    <tag-class>com.tag.HelloWorldTag</tag-class>
    <body-content>jsp</body-content>
  </tag>
</taglib>

web.xml

<web-app>
<taglib-uri>/xxx</taglib-uri>
	<taglib-location>/WEB-INF/tlds/xxx.tld</taglib-location>
</web-app>

xxx.jsp

<%@ taglib uri="/xxx" prefix="mytag" %>
<%@ page contentType="text/html; charset=gb2312" %>
<html><head><title>first cumstomed tag</title></head><body>
<p>以下的內(nèi)容從Taglib中顯示: </p>
<p><i><mytag:hello_int/></i>
<br>
<p><mytag:hello_int></mytag:hello_int>
</body></html>     

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区三区四区视频| 5566中文字幕一区二区电影| 日韩成人av影视| 国产欧美精品区一区二区三区| 在线影视一区二区三区| 久久成人久久鬼色| 一区二区免费视频| 国产日韩欧美综合一区| 91精品视频网| 色综合中文综合网| 精品一区二区三区日韩| 国产精品成人免费在线| 欧美一区在线视频| 色婷婷久久99综合精品jk白丝| 极品少妇xxxx精品少妇| 亚洲成人福利片| 国产精品第四页| 精品国产自在久精品国产| 欧美色男人天堂| 色综合久久久久久久久久久| 国产精品一区二区视频| 男人操女人的视频在线观看欧美| 亚洲欧美视频在线观看视频| 国产亚洲精品资源在线26u| 91精品国产综合久久久久久久 | 欧美日韩五月天| 99精品视频中文字幕| 国产精品69久久久久水密桃| 另类的小说在线视频另类成人小视频在线| 中文字幕一区二区三区四区不卡| 久久久精品黄色| 欧美一级精品大片| 欧美一区二区啪啪| 欧美日韩精品一区二区三区四区 | 中文字幕久久午夜不卡| 精品美女被调教视频大全网站| 欧美精品一级二级三级| 欧美亚洲尤物久久| 91精品91久久久中77777| 91在线一区二区三区| 成人免费精品视频| 北条麻妃一区二区三区| www.亚洲在线| 99久久久久久| 91免费视频观看| 色综合咪咪久久| 日本久久精品电影| 欧美日韩亚洲综合一区二区三区| 欧美日韩中文字幕一区| 欧美精品一卡二卡| 欧美一二三区在线| 精品久久久网站| 精品国产乱码久久久久久影片| 精品久久99ma| 国产区在线观看成人精品| 亚洲国产精品99久久久久久久久| 国产午夜一区二区三区| 国产精品美女久久久久久久久 | 中文字幕精品综合| 中文字幕一区日韩精品欧美| 亚洲人123区| 亚洲高清视频的网址| 日本强好片久久久久久aaa| 美女视频黄频大全不卡视频在线播放| 久久成人免费网| 成人深夜福利app| 色综合激情久久| 678五月天丁香亚洲综合网| 亚洲精品一线二线三线| 国产精品麻豆久久久| 一区二区三区精品视频在线| 五月婷婷综合在线| 国产在线国偷精品免费看| 成人午夜激情视频| 欧美三级三级三级| 精品久久久久久久久久久久久久久 | 97精品电影院| 欧美精品丝袜久久久中文字幕| 日韩欧美黄色影院| 亚洲国产精品精华液2区45| 亚洲综合精品久久| 国产乱码精品一品二品| 色综合久久中文综合久久牛| 欧美一区欧美二区| 国产精品久久久久久久第一福利 | 亚洲一区免费在线观看| 精品一区二区久久| 91在线云播放| 日韩精品中文字幕一区| 自拍偷拍欧美精品| 久久精品av麻豆的观看方式| av电影在线观看完整版一区二区| 在线观看成人免费视频| 精品国产伦一区二区三区观看体验| 中文字幕一区二区三区视频 | 丁香激情综合国产| 欧美美女黄视频| 国产日韩精品一区二区三区| 亚洲影院免费观看| 国产成人免费在线观看不卡| 欧美色爱综合网| 亚洲国产成人自拍| 麻豆中文一区二区| 欧美最新大片在线看| 久久嫩草精品久久久久| 午夜精品爽啪视频| 99视频国产精品| 欧美v日韩v国产v| 亚洲午夜电影在线| 99精品视频一区二区| 久久免费美女视频| 日本成人在线网站| 欧美亚洲另类激情小说| 国产欧美精品一区| 黑人精品欧美一区二区蜜桃 | 国产日韩欧美亚洲| 麻豆91在线观看| 在线观看欧美精品| 中文字幕字幕中文在线中不卡视频| 精品一区二区综合| 欧美一卡2卡三卡4卡5免费| 一区二区高清在线| 91日韩一区二区三区| 国产精品久久久久婷婷| 国产在线看一区| 欧美变态凌虐bdsm| 麻豆精品精品国产自在97香蕉| 欧美日韩午夜精品| 亚洲成a人在线观看| 在线观看日韩电影| 亚洲欧美日韩国产成人精品影院| 大胆亚洲人体视频| 日本一区二区高清| 国产69精品一区二区亚洲孕妇| 久久综合色8888| 久久99国产精品久久99| 日韩欧美成人一区二区| 久久精品国产在热久久| 日韩天堂在线观看| 精品一区二区三区在线视频| 日韩精品综合一本久道在线视频| 爽好久久久欧美精品| 欧美丰满少妇xxxxx高潮对白 | 丝袜亚洲另类丝袜在线| 8x8x8国产精品| 蜜桃久久av一区| 精品国产一二三区| 国产精品中文字幕日韩精品 | 91小视频在线免费看| 亚洲柠檬福利资源导航| 欧美亚洲动漫精品| 三级精品在线观看| 日韩欧美亚洲另类制服综合在线| 精品一区中文字幕| 中文字幕不卡一区| 色婷婷综合中文久久一本| 亚洲电影一级黄| 日韩精品一区二区三区老鸭窝| 久久99精品一区二区三区三区| 久久久国产综合精品女国产盗摄| 东方欧美亚洲色图在线| 椎名由奈av一区二区三区| 欧美日韩国产乱码电影| 老司机精品视频在线| 国产欧美日韩不卡免费| 91丨九色porny丨蝌蚪| 午夜久久福利影院| 久久免费看少妇高潮| 成人精品国产一区二区4080| 亚洲综合清纯丝袜自拍| 欧美成人三级在线| 成人午夜视频在线观看| 亚洲国产精品自拍| 久久色中文字幕| 一本高清dvd不卡在线观看| 日韩精品国产欧美| 国产日产欧美一区二区三区| 欧美午夜视频网站| 国产精品综合av一区二区国产馆| 自拍偷拍欧美精品| 欧美成人a视频| 91论坛在线播放| 捆绑调教一区二区三区| 综合激情成人伊人| 日韩小视频在线观看专区| 成人av手机在线观看| 日韩va欧美va亚洲va久久| 中文子幕无线码一区tr| 欧美老人xxxx18| 成人高清视频在线| 调教+趴+乳夹+国产+精品| 国产女人18毛片水真多成人如厕 | 最新不卡av在线| 日韩你懂的电影在线观看| 一本色道久久加勒比精品 | 精品久久久久久久久久久久久久久| 99久久精品免费| 精品影院一区二区久久久| 亚洲一区在线观看视频| 国产欧美日韩在线观看|