源代碼taglib理解客戶化JSP標簽作用_第1頁
源代碼taglib理解客戶化JSP標簽作用_第2頁
源代碼taglib理解客戶化JSP標簽作用_第3頁
源代碼taglib理解客戶化JSP標簽作用_第4頁
源代碼taglib理解客戶化JSP標簽作用_第5頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

了解JSPTag 客戶化JSP技術是在JSP1.1版本中才 Servlet容器編譯JSP網頁時,如果遇到自 javax.servlet.jsp.tagext setValue(Stringk,Object getValue(String 設置PageContext該方法由Servlet容器在調用設置嵌套了當 的上 的處理類,該方法由 parent:代表嵌套了當前 的上層pageContextWebJSP容器在調用doStartTag或doEndTag方法前,會先調用setPageContext和setParent方法,設置pageContext和在doStartag或doEndag方法中可以通過getParent方法獲取上層的處理類;在agSupport類中定義了protected類型的pageContext成員變量,因此在處理類中可以直接pageContext變量。PageContext類提供了保存和 publicvoidsetAttribute(Stringname,Objectvalue,intpublicObjectgetAttribute(Stringname,int publicintdoStartTag()throwspublicintdoEndTag()throws當Servlet容器遇到自定 的起始標志doStartTag()方法返回一個整數值,用來 <prefix:o假若<Mytag>的doStartTag()方法返回Tag.SKIP_BODY,”o”字符串不會顯示在網頁上;若返回Tag.EVAL_BODY_INCLUDE,“o”字符串將顯示在網頁上。當Servlet容器遇到自定 的結束標志ag.SKIP_AGE表示立刻停止執行JSP網被忽略,任何已有的輸出內容立刻返回到 <prefix:mytag在處理類中應該將這個屬性作為成員變量,并且分別提供設置和屬性的方法,假定以上username為String類型,privateStringpublicvoidsetUsername(Stringvalue){}publicStringgetUsername(){returnusername;}定義一個名為mytaglib的庫,它包含一個簡單的o,這個能夠將JSP頁面中所有的<mm:o/>解析為字符串“o”。publicintdoEndTag()throwsJspException{try{//WeusethepageContexttogeta//Wethenprintthetext }catch(Exceptione)}return}

創建TagLibrary的描述文件mytaglib.tld文件,在這個文件中定義mytaglib庫和o。這個文件存放位置為/WEB-(1) owithtag1.jsp中加<%@tagliburi="/mytaglib"prefix="mm" (2 owithtag1.jsp文件中插入 o/>創建一個能替換test應用中JSP網頁的靜態文本的,這個名為message,它放在mytaglib庫中。在owithtag2.jsp文件中使用message的代碼如<b><mm:message o"/><%=request.getAttribute("USER")當客戶owithtag2.jsp網頁時,message的處理類會根據屬性key的值從一個文本文件中找到與key匹配的字符串。假定這個字符串為“o”,然后將這個o.title=Title o 盡管裝載靜態文本的任務可以直接由處理類來完成,但是把初始化的操作安排在Web應用啟動時完成,這更符合Web編在本例中,由DispatcherServlet類的init方法負責從靜態文本文件 靜態文本,然后把它們裝載到Properties對象中,最后再把這個Properties對象作為屬性保

publicvoidinit(ServletConfigconfig)throwsServletException{Propertiesps=new…ServletContextcontext=config.getServletContext();InputStreamin=context.getResourceAsStream(DispatcherServletweb.xml中配置這個Servlet時設置load-on-startup的屬性key對應。在MessageTag中定義了getKeyprivateStringkey=null;publicStringgetKey(){return}publicvoidsetKey(Stringkey){}從pageContext中包含靜態文本的Propertiesps= Stringmessage=null;<info>producemessageby問題:在 處理類中,如何 session范圍內的共享(ATagSuppo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論