JSP 自定义标签笔记

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

你可能感兴趣的:(JSP 自定义标签笔记)