1.标签处理器类
package cn.itcast.web.tag;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTag;
import javax.servlet.jsp.tagext.BodyTagSupport;
import javax.servlet.jsp.tagext.IterationTag;
import javax.servlet.jsp.tagext.TagSupport;
//将标签体改为大写
public class TagDemo5 extends BodyTagSupport {
@Override
public int doStartTag() throws JspException {
return BodyTag.EVAL_BODY_BUFFERED;
}
@Override
public int doEndTag() throws JspException {
//获取body中的内容
BodyContent bc=this.getBodyContent();
String content=bc.getString();
//对body中的内容进行处理
content=content.toUpperCase();
try {
//写入到body中
this.pageContext.getOut().write(content);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return super.doEndTag();
}
}
<tag>
<description>控制body循环执行</description>
<name>tagDemo5</name>
<tag-class>com.jstl.simple.tag.TagDemo5</tag-class>
<body-content>JSP</body-content>
</tag>
3. 在jsp中适用
<%@ taglib uri="http://www.jstl.simple.tag" prefix="jstl" %>
<body>
<jstl:tagDemo5>
This is my JSP page. <br>
</jstl:viewLoopBody>
</body>