Posted on 2007-07-30 11:52
G_G 阅读(322)
评论(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