一.控制标签体是否输出
1 <dwl:demo1> 2 3 aaaaa 4 5 </dwl:demo1>
控制aaa是否输出,通过查看Tag帮助文档,了解到,在doStartTag()方法中,如果返回的是EVAL_BODY_INCLUDE,和skip.boby,来控制是否输出标签体
1 @Override 2 public int doStartTag() throws JspException { 3 4 //不输出 输出:EVAL_BODY_INCLUDE 5 return Tag.SKIP_BODY; 6 }
tld
1 <tag> 2 <!-- 描述,可以删去--> 3 <description>Outputs Hello, World</description> 4 <name>viewIP</name> 5 <!-- 标签处理器的路径--> 6 <tag-class>com.du.tag.TagDemo1</tag-class> 7 <!-- 默认,有没有标签体,empty没有 JSP 有--> 8 <body-content>JSP</body-content> 9 </tag>
*******************************************************************************************
二.控制jsp输出,这里试用doEndTag();
jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@ taglib uri="http://www.dwl.com" prefix="dwl" %> 3 4 <dwl:demo1/> 5 6 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 7 <html> 8 <head> 9 <title>自定义标签,控制jsp显示</title> 10 </head> 11 12 <body> 13 14 </body> 15 </html>
java
1 @Override 2 public int doEndTag() throws JspException { 3 4 //Tag.EVAL_PAGE:余下的jsp继续执行,SKIP_PAGE:余下的jsp不会执行 5 return Tag.EVAL_PAGE; 6 }
tld
1 <tag> 2 <!-- 描述,可以删去--> 3 <description>Outputs Hello, World</description> 4 <name>viewIP</name> 5 <!-- 标签处理器的路径--> 6 <tag-class>com.du.tag.TagDemo1</tag-class> 7 <!-- 默认,有没有标签体,empty没有 JSP 有--> 8 <body-content>empty</body-content> 9 </tag>