15-3.自定義標(biāo)簽的HelloWord_第1頁
15-3.自定義標(biāo)簽的HelloWord_第2頁
15-3.自定義標(biāo)簽的HelloWord_第3頁
15-3.自定義標(biāo)簽的HelloWord_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、15-3.自定義標(biāo)簽的HelloWord學(xué)習(xí)了人家的標(biāo)簽,當(dāng)然要來自己弄一個屬于自己的標(biāo)簽了。其實自定義標(biāo)簽并不需要struts2的支持,不過struts2提供了ponents.Component;幫助我們更簡單的實現(xiàn),今天就做了兩個自定義標(biāo)簽,但還有很多問題沒有弄明白。先把知道的記錄下來吧,不明白的在研究。我們先弄一個helloWorld的自定義標(biāo)簽。1:要寫自定義標(biāo)簽 當(dāng)然要先將tld文件寫好哦zotion.tld(放在WEB-INF下)!DOCTYPE taglib PUBLIC -/Sun Microsystems, Inc./DTD JSP Tag Library 1.2/EN 2.

2、2.31.2zotion/zotion我的標(biāo)簽hellotag.HelloTag!-關(guān)于body-content 有三個值可選;empty:標(biāo)簽體必須為空;jsp:標(biāo)簽由其他jsp元素組成比如標(biāo)簽中含有的jsp元素,那么此時body-content的值就是實際attributeName傳入的值;tagdependent:有標(biāo)簽解釋不帶jsp轉(zhuǎn)換(這個深入的含義不太了解)- emptyvaluetruetrue然后定義處理的類:tag. Hello.javapackage tag;import com.opensymphony.xwork2.util.ValueStack;import java

3、.io.IOException;import java.io.Writer;import java.util.logging.Level;import java.util.logging.Logger;import javax.servlet.http.HttpServletRequest;import ponents.Component; public class Hello extends Component private String value; private HttpServletRequest request; public String getValue() return v

4、alue; public void setValue(String value) this.value = value; public Hello(ValueStack arg0, HttpServletRequest request) super(arg0); this.request = request; public boolean start(Writer writer) boolean result = super.start(writer); try if (getValue() = null) value = ; else value = 你好! + getValue() + !

5、; /這里輸出標(biāo)簽內(nèi)容的 writer.write(value); catch (IOException ex) Logger.getLogger(Hello.class.getName().log(Level.SEVERE, null, ex); return result; tag. HelloTag.javapackage tag;import com.opensymphony.xwork2.util.ValueStack;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletR

6、esponse;import ponents.Component;import org.apache.struts2.views.jsp.ComponentTagSupport; public class HelloTag extends ComponentTagSupport private String value;public String getValue() return value;public void setValue(String value) this.value = value;Overridepublic Component getBean(ValueStack arg

7、0, HttpServletRequest arg1,HttpServletResponse arg2) return new Hello(arg0, arg1);Overrideprotected void populateParams() super.populateParams();Hello tag = (Hello) component;tag.setValue(value);有了這3個文件,標(biāo)簽就OK了!至于為什么要這么做,所實話我是知其然不知其所以然。先理解吧。慢慢來。我們看JSP頁面:index.jsp index 訪問index.jsp時輸出: 你好!Zotion!這是一個最簡單的自定義標(biāo)簽。我們可以做的就是Hello的 public boolean start(Write

溫馨提示

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

評論

0/150

提交評論