JSP自定义标签_通过属性控制标签体的执行次数
什么也不说,直接上代码:
import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.SimpleTagSupport; //通过属性控制标签体的执行次数 public class SimpleTagDemo5 extends SimpleTagSupport { private int count; //<itcast:demo5 count="6"> public void setCount(int count) { this.count = count; } @Override public void doTag() throws JspException, IOException { for(int i=0;i<count;i++){ this.getJspBody().invoke(null); } }
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@taglib uri="/simpleitcast" prefix="itcast"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>控制页面执行多次</title> </head> <body> <!-- 如果属性值是8种基本数据类型,那么在jsp页面传递的是字符串时,引擎会自动转换为相应类型 --> <itcast:demo5 count="10"> xxxx </itcast:demo5> </body> </html>
<tag> <name>demo5</name> <!-- 为标签处理器类配一个标签名 --> <tag-class>cn.itcast.web.simpletag.SimpleTagDemo5</tag-class> <body-content>scriptless</body-content> <attribute> <name>count</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <!-- 指示属性的值是否可以为一个表达式 --> </attribute> </tag>