Posted on 2007-07-30 11:52
G_G 閱讀(333)
評論(0) 編輯 收藏 所屬分類:
JspTag
JSP 自定義標簽
? 1. <my:list pass="${pass}"/>pass 的建立是(1)tld文件加 <attribute>(2).java加 private String pass gget() gset()
? 2. 要有 Body .java 就繼承 BodyTagSupport 不要就? TagSupport
? 3.? doStartTag() 中 輸出是? pageContext.getOut().print("hello."+this.pass);
? 4.? doAfterBody() 中 輸出是 BodyContent bc = super.getBodyContent();
??? ?? ?? ?? ?? ?? ?? ?? ?? ? String bStr = bc.getString(); // body 中的 string
??? ?? ?? ?? ?? ????????????? bc.getEnclosingWriter().print(...);? // out to jsp
? 5. <my:list pass="liukaiyi">
???? ???? <c:if test="${gg==null}">?? //會先運行得到 String 再在 bc.getString()得到 String
? ??? ??? ??? XX
? ??? ??? </c:if>
???? </my:list>
? 4.? .java 中 通過是 doStartTag()
??? ??? ??? ??? ??? ??? return SKIP_BODY? 跳向 doEndTag()
??? ?? ?? ?? ?? ?? ?? ? return EVAL_BODY_INCLUDE 跳過主體 doBodyContent()
??? ?? ?? ?? ?? ?? ?? ? return EVAL_BODY_BUFFERED 調用doInitBody()
? 5.? .java 中 doAfterBody()
??? ?? ?? ?? ?? ?? ?? ? return SKIP_BODY 跳出循環 到 doEndTag()
??? ?? ?? ?? ?? ?? ?? ? return EVAL_BODY_AGAIN 再次 doAfterBody()
? 6.? .java 中 doEndTag()
??? ?? ?? ?? ?? ?? ?? ? retrun EVAL_PAGE 繼續剩余
??? ?? ?? ?? ?? ?? ?? ? return SKIP_PAGE 跳出
Tag 自定義標簽
? 1. <%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> 倒入 并在 tags 文件中 建 XXX.tag
? 2. 使用 EG: <my:文件名 />
? 3. <my:MyTag items="${name}" />在文件.tag中加入 <%@ attribute name="items"%>
???????????????????????????????? 并在 body中${items}就可以使用
? 4. body加標簽 同 JSP 自定義標簽 5
? 5. ? <my:MyTag items="d" >
? ??? ??? <jsp:attribute name="list">? //添加body模塊
? ??? ??? ??? ..<>..
? ??? ??? </jsp:attribute>
? ???? </my:MyTag>
??? ?? 在 .tag 中 <%@ attribute name="list" fragment="true" required="true" %> 取得
??? ?? <jsp:invoke fragment="list" /> 使用中的 String