15-3.自定義標簽的HelloWord_第1頁
15-3.自定義標簽的HelloWord_第2頁
15-3.自定義標簽的HelloWord_第3頁
15-3.自定義標簽的HelloWord_第4頁
全文預覽已結束

下載本文檔

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

文檔簡介

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

2、2.31.2zotion/zotion我的標簽hellotag.HelloTag!-關于body-content 有三個值可選;empty:標簽體必須為空;jsp:標簽由其他jsp元素組成比如標簽中含有的jsp元素,那么此時body-content的值就是實際attributeName傳入的值;tagdependent:有標簽解釋不帶jsp轉換(這個深入的含義不太了解)- 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、; /這里輸出標簽內容的 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個文件,標簽就OK了!至于為什么要這么做,所實話我是知其然不知其所以然。先理解吧。慢慢來。我們看JSP頁面:index.jsp index 訪問index.jsp時輸出: 你好!Zotion!這是一個最簡單的自定義標簽。我們可以做的就是Hello的 public boolean start(Write

溫馨提示

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

評論

0/150

提交評論