您現在的位置是:電腦技術吧?>? 組裝維修 ??>??自定義標簽在哪,自定義標簽是什么意思??>??正文詳情

自定義標簽在哪,自定義標簽是什么意思

覃芷波2019-12-17 15:42:47 人圍觀
簡介自定義個性標簽大全一。JSP標記的好處不再冗長。數據字典是使用的下拉框。只要定義了字典,就會顯示字典的可用內容。只要定義了字典和屬性值,就會顯示字典的顯示值。2。首先定

1、關于JSP標簽的好處就不再羅嗦數據字典就是使用的下拉框,只要定義使用那個字典就會將這個字典可用的內容顯示出來顯示字典時只要定義那個字典和屬性值就可以顯示出字典的顯示值 2、首先在web.xml中定義自定義標簽加載的引用,兩個屬性分別是引用的URI和加載路徑

    ?xmlversion=1.0encoding=UTF-8? web-appversion=2.5xmlns=http://java.sun.com/xml/ns/javaee xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd welcome-file-list welcome-fileindex.jsp/welcome-file /welcome-file-list jsp-config taglib taglib-uri/tld/web-html/taglib-uri taglib-location /WEB-INF/tlds/web-html.tld /taglib-location /taglib /jsp-config /web-app
3、在web-html.tld中定義自己的標簽,數據字典應用的話我們需要一個標簽庫,三個標簽。

分別是,select標簽,options標簽,和現實數據字典的標簽,每個標簽都對應不同的實現類

    ?xmlversion=1.0encoding=UTF-8? !DOCTYPEtaglibPUBLIC-//SunMicrosystems,Inc.//DTDJSPTagLibrary1.2//EN http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd taglib tlib-version1.0/tlib-version!--標簽庫版本-- jsp-version1.2/jsp-version!--標簽庫要求的JSP規范版本--
nbsp;short-namehtml/short-name!--JSP頁面編寫工具可以用來創建助記名的可選名字-- tag nameselect/name tag-classcom.SelectTag/tag-class body-contentJSP/body-content attribute namename/name rtexprvaluetrue/rtexprvalue /attribute attribute namestyle/name rtexprvaluetrue/rtexprvalue /attribute /tag tag nameoptions/name tag-classcom.OptionsTag/tag-class body-contentJSP/body-content attribute namecollection/name rtexprvaluetrue/rtexprvalue /attribute /tag tag nameselectDisplay/name tag-classcom.SelectDisplay/tag-class ;body-contentJSP/body-content attribute namecollection/name rtexprvaluetrue/rtexprvalue /attribute attribute namename/name rtexprvaluetrue/rtexprvalue /attribute attribute namevalue/name rtexprvaluetrue/rtexprvalue /attribute /tag /taglib 4、實現類實現類的作用就是在后臺拼接所需HTML標簽內容,然后由JSP進行輸出實現類最主要的兩個方法,一個遇到這個標簽開始時輸出,一個是結束時輸出如果需要定義屬性,可以參考實現類定義屬性,并在TLD中定義,在JSP中使用標簽時快捷鍵就可以出來這個屬性首先是select標簽的代碼:
    packagecom; importjava.io.IOException; importjavax.servlet.jsp.JspException; importjavax.servlet.jsp.JspTagException; importjavax.servlet.jsp.tagext.BodyTagSupport; /** *TagSupport與BodyTagSupport的區別: *主要看標簽處理類是否要讀取標簽體的內容和改變標簽體返回的內容,如果不需要就用TagSupport,否則就用BodyTagSupport *用TagSupport實現的標簽,都可以用BodyTagSupport來實現,因為BodyTagSupport繼承了TagSupport */ @SuppressWarnings(serial) publicclassSelectTagextendsBodyTagSupport{ @Override publicintdoStartTag()throwsJspException{ nb
sp;try{ StringBufferresults=newStringBuffer(select); if(name!=null){ results.append(name=); results.append(name); results.append(); } if(style!=null){ results.append(style=); results.append(style); results.append(); } results.append(); pageContext.getOut().write(results.toString()); }catch(IOExceptionex){ thrownewJspTagException(錯誤); } returnEVAL_BODY_INCLUDE; } @Override publicintdoEndTag()throwsJspException{ try{ StringBufferresults=newStringBuffer(); nbsp; //因為下拉中包含下拉內容,所以只能在遇到結束標簽時才能寫select結束 results.append(/select); pageContext.getOut().write(results.toString()); }catch(IOExceptionex){ thrownewJspTagException(錯誤); } returnEVAL_PAGE; } //樣式 protectedStringstyle; //名字 protectedStringname; publicStringgetStyle(){ returnstyle; } publicvoidsetStyle(Stringstyle){ this.style=style; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } /** doStartTag()方法是遇到標簽開始時會呼叫的方法,其合法的返回值是EVAL_BODY_INCLUDE與SKIP_BODY,前者表示將顯示標簽間的文字,后者表示不顯示標簽間的文字 doEndTag()方法是在遇到標簽結束時呼叫的方法,其合法的返回值是EVAL_PAGE與SKIP_PAGE,前者表示處理完標簽后繼續執行以下的JSP網頁,后者是表示不處理接下來的JSP網頁 doAfterBody(),這個方法是在顯示完標簽間文字之后呼叫的,其返回值有EVAL_BODY_AGAIN與SKIP_BODY,前者會再顯示一次標簽間的文字,后者則繼續執行標簽處理的下一步 EVAL_BODY_INCLUDE:把Body讀入存在的輸出流中,doStartTag()函數可用 EVAL_PAGE:繼續處理頁面,doEndTag()函數可用 SKIP_BODY:忽略對Body的處理,doStartTag()和doAfterBody()函數可用 SKIP_PAGE:忽略對余下頁面的處理,doEndTag()函數可用 EVAL_BODY_BUFFERED:申請緩沖區,由setBodyContent()函數得到的BodyContent對象來處理tag的body,如果類實現了BodyTag,那么doStartTag()可用,否則非法 EVAL_BODY_AGAIN:請求繼續處理body,返回自doAfterBody(),這個返回值在你制作循環tag的時候是很有用的 預定的處理順序是:doStartTag()返回SKIP_BODY,doAfterBodyTag()返回SKIP_BODY,doEndTag()返回EVAL_PAGE 如果繼承了TagSupport之后,如果沒有改寫任何的方法,標簽處理的執行順序是:doStartTag()-不顯示文字-doEndTag()-執行接下來的網頁 如果您改寫了doStartTag(),則必須指定返回值, 如果指定了EVAL_BODY_INCLUDE,則執行順序是:doStartTag()-顯示文字-doAfterBodyTag()-doEndTag()-執行下面的網頁 */ }關于返回參數,返回具體數字也可以,不用過于糾結然后是下拉內容實現類
    packagecom; importjava.io.IOException; importjavax.servlet.jsp.JspException; importjavax.servlet.jsp.JspTagException; importjavax.servlet.jsp.tagext.BodyTagSupport; @SuppressWarnings(serial) publicclassOptionsTagextendsBodyTagSupport{ @Override publicintdoStartTag()throwsJspException{ returnEVAL_BODY_INCLUDE; } @Override publicintdoEndTag()throwsJspException{ try{ StringBufferresults=newStringBuffer(); if(SEX.equals(collection)){ results.append(optio
nvalue=0selected=selected請選擇/option); results.append(optionvalue=1男/option); results.append(optionvalue=2女/option); } pageContext.getOut().write(results.toString()); }catch(IOExceptionex){ thrownewJspTagException(錯誤); } returnEVAL_PAGE; } //collection只是傳遞一個標識,具體下拉值內容是從數據庫取還是從請求中得到為不同具體實現 protectedStringcollection; publicStringgetCollection(){ returncollection; } publicvoidsetCollection(Stringcollection){ this.collection=collection; } }具體你的字典數據從數據庫中如何存儲如何查詢,可以自定義實現顯示的標簽實現,為了將來可以在頁面取到標簽內容值,我們定義隱藏域來保存屬性值,然后在顯示顯示內容
    packagecom; importjava.io.IOException; importjavax.servlet.jsp.JspException; importjavax.servlet.jsp.JspTagException; importjavax.servlet.jsp.tagext.BodyTagSupport; @SuppressWarnings(serial) publicclassSelectDisplayextendsBodyTagSupport{ @Override publicintdoStartTag()throwsJspExce
ption{ try{ StringBufferresults=newStringBuffer(); pageContext.getOut().write(results.toString()); }catch(IOExceptionex){ thrownewJspTagException(錯誤); } returnEVAL_BODY_INCLUDE; } @Override publicintdoEndTag()throwsJspException{ try{ StringBufferresults=newStringBuffer(); if(SEX.equals(collection)){ results.append(span); results.append(inputtype=); results.append(hiddenname=); results.append(getName()); results.append(); results.append(value=); results.append(getValue()); results.append();nbsp; if(1.equals(getValue())){ results.append(男); }elseif(2.equals(getValue())){ results.append(女); }else{ results.append(請選擇); } results.append(/span); } pageContext.getOut().write(results.toString()); }catch(IOExceptionex){ thrownewJspTagException(錯誤); } returnEVAL_PAGE; } //collection只是傳遞一個標識,具體下拉值內容是從數據庫取還是從請求中得到為不同具體實現 protectedStringcollection; //傳遞的值 protectedStringvalue; //該屬性的名稱 protectedStringname; publicStringgetCollection(){ returncollection; } publicvoidsetCollection(Stringcollection){ this.collection=collection; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicStringgetValue(){ returnvalue; } publicvoidsetValue(Stringvalue){ this.value=value; } } 5、JSP中引用,直接在index.jsp中引用 需要引入相應的標簽內容,引入的方式在JSP頭部引用 標簽的屬性可以設置也可以不設置,標簽的使用和HTML標簽的使用是一樣的,定義屬性即可
    %@pagelanguage=javapageEncoding=UTF-8% %@tagliburi=/tld/web-htmlprefix=html% !DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.01Transitional//EN html head titleJSP自定義標簽的實現/title /head body 請選擇: html:selectname=sexstyle=width:100px html:optionscollection=SEX/html:options /html:select 顯示性別:nb
sp;

版權聲明:本文由 覃芷波 整理編輯。

原標題:有趣的自定義標簽,qq自定義標簽有哪些

轉載注明出處:http://www.dn9ww09s.icu/assemble/15513.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 傳值和傳址,傳值與傳值

    傳值和傳址,傳值與傳值 相關圖片傳值調用//****在ASCX用戶控件中,定義要接收參數的屬性示例:private string mbooktitle;public string booktite{gjs傳值...

  • 自定義壁紙 文字,手機壁紙自定義文字

    自定義壁紙 文字,手機壁紙自定義文字 相關圖片照片加文字本文給出了一個Android實現的文本圖片自定義按鈕的實例。與您分享以供參考。具體分析如下:在Android開發中,經常需要使用帶有文本和圖片的按鈕。讓我們解釋美圖秀秀怎么...

  • 在編譯時if怎么用,編譯時注解

    在編譯時if怎么用,編譯時注解 相關圖片編譯注解和運行時注解本文主要介紹PHP編譯安裝中常見錯誤的解決方法。本文介紹了PHP編譯和安裝中的大多數錯誤,并提供了解決方案。對于你的朋友,請參考這篇文章是在https://co編譯...

  • sqlserver數據庫字段說明,sqlserver數據庫增加字段

    sqlserver數據庫字段說明,sqlserver數據庫增加字段 相關圖片sqlserver數據庫特點有時我們想知道這個值來自哪個表和字段,搜索Internet,找到更好的方法,并通過存儲過程實現它。只要傳入一個要查找的值,就可以找到該值所在的表和字段名。前提...

  • 排序命令,excel命令

    排序命令,excel命令 相關圖片對于excel數據庫排序是按照我確信您對redis sort命令了解不多,所以我編譯了一些redissort命令的使用方法和示例,希望這些示例能對您有所幫助。Redis sort是Redislinux按時間排序...

  • javascript提交表單,js自動提交表單

    javascript提交表單,js自動提交表單 相關圖片form表單提交多條數據本文主要介紹了對JSON格式表單數據提交相關資料的深入分析。供您參考的是,以JSON編碼格式提交表單數據是HTML5對web發展和演進的又一貢獻。以前,我們的Hajax提交...

  • 電腦用戶鎖定怎么解除,用戶已被鎖定

    電腦用戶鎖定怎么解除,用戶已被鎖定 相關圖片華為賬號鎖定怎么解除甲骨文解鎖Scott/Tiger用戶。一。為Scott用戶驗證當前系統的狀態:從DBA中選擇*[users where upper(username)='Scowin10賬戶鎖定多久解除...

  • pyramid scheme,schemes什么意思

    pyramid scheme,schemes什么意思 相關圖片qq音樂url schemes在IOS應用程序中,經常可以看到一些應用程序通過單擊操作直接跳轉到app store頁面。首先,奇怪的是,這個第三方應用程序是如何在IOS系統應用程序交互中實現url schemes 微...

  • object獲取值,獲取textbox的值

    object獲取值,獲取textbox的值 相關圖片textarea怎么獲取值本文主要介紹如何獲取DataRow[]的值。您可以引用DataRow[]Dr=DT。Select(T1=a');結果是一個數組,您只需要循環該數組。代碼如下:Sjs獲取標簽的值...

  • 數據怎么存入數據庫,文件存入數據庫

    數據怎么存入數據庫,文件存入數據庫 相關圖片數據庫可以存數組嗎用ASP編寫網站應用程序需要很長時間,不可避免地會產生各種問題。恐怕最常見的問題是如何上傳文件到服務器,尤其是上傳圖片。比如,如果你想在自己的社區實...

熱評文章

  • access數據庫和mysql,access數據庫與mysql

    access數據庫和mysql,access數據庫與mysql 相關圖片mysql數據庫一。軟件簡介db2mysql是一款能夠自動將access數據庫文件轉換成相應SQL代碼的軟件。它可以廣泛應用于access數據庫到MySQL或其他類型SQL數據mysql access...

  • 如何將數據導入excel,將excel數據導入word

    如何將數據導入excel,將excel數據導入word 相關圖片excel數據導入mysql簡介:工程中經常使用excel導入數據和excel導入數據庫的功能。相關內容已搜索過。總結使用的方案。方案一npoi npoi是。POI項目的網絡版本。POI是表格數據導入cad...

  • 3d動態全景 華為,福彩3D

    3d動態全景 華為,福彩3D 相關圖片動態鎖屏目前,我們忽略z軸(以便我們可以在平面中更清楚地看到),并且假設z軸坐標都是0。假設游戲中有兩個軌跡點在動態增加和變化。最后,這兩個變化軌跡點的組合就是它們生...

  • 點擊文本進行復制,html文本可點擊

    點擊文本進行復制,html文本可點擊 相關圖片點擊單元格出現文本本文的示例描述了JavaScript通過單擊自動選擇textarea文本的方法。與您分享以供參考。具體實現方法如下:?1234texrea rows=10 co如何設置網頁點擊文本就可以復制...

  • C內核開發,IDEA可以開發C號碼

    C內核開發,IDEA可以開發C號碼 相關圖片linux系統下C開發步驟1:創建一個項目start Xcode-file-New-project。然后創建一個IOS單視圖應用程序。在這里我們將其命名為類別。步驟2:立即創建類別開源C開發工具...

  • ios有psp模擬器嗎,ios用psp模擬器

    ios有psp模擬器嗎,ios用psp模擬器 相關圖片蘋果psp模擬器卡很多童鞋喜歡在PSP上玩游戲,所以他們需要PSP設備嗎?現在有一個流行的PSP模擬器ppssp,它不僅可以在電腦上使用,也可以在Android手機蘋果手機上使用蘋果玩psp模擬器...

  • A/C,C-5

    A/C,C-5 相關圖片7c本文共享了使用objective C從遠程url下載圖片的兩種方法,它們都用于個人項目。這些建議是向您簡要介紹的,可供需要的小伙伴參考。目標C從遠程URL下載圖c=...

  • 掛起線程,websphere線程掛起

    掛起線程,websphere線程掛起 相關圖片linux線程掛起但有時,我們希望主線程等待IO操作完成。例如,在主線程創建文件夾后,等待完成,然后在文件夾中創建文件。nsobject類有一個方法performselectorQt線程的掛起和恢復...

  • 如何做app,app怎么做出來的

    如何做app,app怎么做出來的 相關圖片app好做嗎第一個坑:以蘋果手表為中心,以手表為核心的設計是不是錯了?我知道這聽起來很奇怪,但事實上,我們看到的最好的蘋果手表應用程序并不是那些以桌面功能為核心的應用...

  • 不經過壓縮的圖像文件格式,用于壓縮靜止圖像

    不經過壓縮的圖像文件格式,用于壓縮靜止圖像 相關圖片如何壓縮jpg圖片在iPhone上讀取圖像數據有兩種簡單的方法:uiimagejpegresentation和uiimagepngrepresentation。uiImageJP壓縮頭像...

關注微信

变脸官网查询