資源描述:
《JavaEE自定義標(biāo)簽》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、JavaEE自定義標(biāo)簽:標(biāo)簽類的創(chuàng)建、tld配置文件的創(chuàng)建(位置、如何創(chuàng)建)、Web-XML配置、JSP應(yīng)用1、標(biāo)簽以類似于html標(biāo)簽的方式實(shí)現(xiàn)的java代碼的封裝。第一:形成了開發(fā)標(biāo)簽的技術(shù)標(biāo)準(zhǔn)---自定義標(biāo)簽的技術(shù)標(biāo)準(zhǔn)。第二:java標(biāo)準(zhǔn)標(biāo)簽庫(sun之前自己開發(fā)的一系列的標(biāo)簽的集合)jstl,以及表達(dá)式語言EL。2、自定義標(biāo)簽(1)理解:可以允許用戶自己根據(jù)自己的需要,去開發(fā)自己的標(biāo)簽的技術(shù)規(guī)范。通俗:在Jsp頁面上,以簡單的標(biāo)簽封裝java代碼的操作。//在自定義標(biāo)簽類中,先調(diào)用setPageContext()實(shí)例化內(nèi)置對(duì)象://然后是doStartTag
2、()方法,核心代碼放在這個(gè)方法里面://定義變量,變量的Get、Set方法:privateStringUserName="";//tld配置文件放置在WEB-INF目錄下,主要的標(biāo)記如下,主要的配置如下://前面tlib-version版本號(hào)、Jsp-versionJSP的版本號(hào)、short-name命名空間、是必須有的//uri,注意是uri而不是url,url是訪問的路徑。//而uri為訪問時(shí)候的別名,寫在JSP頁面上的標(biāo)簽的別名。//name為此標(biāo)簽類的別名,tag-class為標(biāo)簽類的存放的物理路徑//body-content為是否有標(biāo)簽體,如果是/子關(guān)閉標(biāo)
3、簽設(shè)置為EMPTY//如果涉及到標(biāo)簽屬性,可以設(shè)置attribute,其中name為屬性的名稱,而不是別名,required屬性是否必須設(shè)置,rtexprvalue是否程序運(yùn)行時(shí)候?yàn)閷傩再x值。//如果在tld文件中不設(shè)置uri,則在web-xml中必須對(duì)talib-uri進(jìn)行設(shè)置。//在JSP頁面中,用taglib指令導(dǎo)入自定義標(biāo)簽。//JSP頁面上的使用,前面my為tld文件中為標(biāo)簽類定義的命名空間、hello為tld文件中指定標(biāo)簽類的別名:(2)技術(shù)組成A:標(biāo)簽處理類:實(shí)現(xiàn)所有信息顯示功能的Java類B:標(biāo)簽配置文件(標(biāo)簽描述文件、庫文件):是一個(gè)遵守xml規(guī)范
4、的tld文件(擴(kuò)展名為TLD)C:配置web.xml:告訴web應(yīng)用,需要引用其他的標(biāo)簽信息D:jsp頁面上,調(diào)用標(biāo)簽3、標(biāo)簽的特點(diǎn)(1)分類A:成對(duì)出現(xiàn)的標(biāo)簽B:自關(guān)閉的標(biāo)簽(2)特點(diǎn)A:標(biāo)簽必須正確的關(guān)閉B:標(biāo)簽不能出現(xiàn)重名C:標(biāo)簽可以有標(biāo)簽體也可以沒有D:標(biāo)簽可以有屬性,但是一個(gè)標(biāo)簽不能出現(xiàn)同名屬性最簡單的標(biāo)簽:沒有標(biāo)簽體也沒有屬性的標(biāo)簽4、自定義標(biāo)簽的開發(fā)流程(上面的插圖)A:明確要實(shí)現(xiàn)的功能:要在頁面顯示具體什么內(nèi)容B:開發(fā)標(biāo)簽處理類C:創(chuàng)建以及配置標(biāo)簽描述文件:TLD文件D:配置web.xmlE:jsp頁面調(diào)用標(biāo)簽5、開發(fā)標(biāo)簽處理類(1)父類一個(gè)接口兩個(gè)
5、類接口:Tag接口javax.servlet.jsp.tagext.Tag類:自關(guān)閉:TagSupport成對(duì)出現(xiàn):BodyTagSupport(2)開發(fā)標(biāo)簽類集成自指定的類,重寫setPageContext(),doStartTag(),doEndTag()。重點(diǎn):標(biāo)簽開始操作doStartTag()方法★6、創(chuàng)建標(biāo)簽配置文件(TLD文件)(1)作用是用來統(tǒng)一管理多個(gè)標(biāo)簽處理類的xml文件。(2)創(chuàng)建具有自己的格式和規(guī)范的(和XML文件一樣)推薦在WEN-INF目錄下,創(chuàng)建自己的tld文件。(3)文件格式A:根元素:taglibB:taglib的四個(gè)起始子元素6、lib-version>標(biāo)簽庫的技術(shù)標(biāo)準(zhǔn)的版本1.0支持的jsp的技術(shù)標(biāo)準(zhǔn)版本1.2標(biāo)簽庫文件的命名空間:縮寫當(dāng)前標(biāo)簽庫文件的唯一標(biāo)記的符號(hào)(別名)命名空間:用來區(qū)分當(dāng)前標(biāo)簽是屬于哪個(gè)標(biāo)簽庫的名稱簡寫。說明:uri子元素是可有可無的,但是會(huì)對(duì)后期的調(diào)用產(chǎn)生影響。C:tag子元素每個(gè)標(biāo)簽處理類都必須在tld文件中進(jìn)行配置。每個(gè)標(biāo)簽類都對(duì)應(yīng)一個(gè)tag元素,描述自己的配置信息。7、me>標(biāo)簽處理類的別名標(biāo)簽類的物理地址是否有標(biāo)簽體
body-content:值默認(rèn)的是jsp。如果是自關(guān)閉標(biāo)簽,需要制定成empty。如果標(biāo)簽有屬性,還有attribute子元素。7、配置web.xml(1)作用在web.xml中進(jìn)行標(biāo)簽配置文件的設(shè)置,告訴web應(yīng)用程序,需要調(diào)用的自定義標(biāo)簽在哪里。(2)前提在標(biāo)簽配置文件中,如果沒有進(jìn)行的配置,則必須進(jìn)行web.xml的配置。如果已經(jīng)配置了uri元素的值,就不需要進(jìn)行we