1.java程序代码如下:
package com.eduask.tag;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;
//新建一个循环测试类:
public class For1 extends SimpleTagSupport{
@Override
public void doTag() throws JspException, IOException {
// PageContext ctx=(PageContext)getJspContext();
for (int i = 0; i < 5; i++) {
//让标签中的内容直接输出
getJspBody().invoke(null);
}
}
}
2.user.tld代码如下:
. <?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
version="2.1">
<description>JSTL 1.1 core library</description>
<display-name>JSTL core</display-name>
<tlib-version>1.1</tlib-version>
<short-name>u</short-name>
<uri>http://java.sun.com/jsp/jstl/mytld</uri>
<tag>
<!--标签的名字 -->
<name>ip</name>
<!--自定义标签类 -->
<tag-class>com.eduask.tag.Ip</tag-class>
<!-- 内容为空 -->
<body-content>empty</body-content>
<!-- <attribute>
<description>
Name of the exported scoped variable for the
exception thrown from a nested action. The type of the
scoped variable is the type of the exception thrown.
</description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>-->
</tag>
<tag>
<name>for1</name>
<tag-class>com.eduask.tag.For1</tag-class>
<!-- 标签内容不允许出现java脚本 -->
<body-content>scriptless</body-content>
</tag>
<tag>
<name>for2</name>
<tag-class>com.eduask.tag.For2</tag-class>
<body-content>scriptless</body-content>
<!-- 设置标签属性 -->
<attribute>
<!-- 属性的名称 -->
<name>count</name>
<!-- 必须填写 -->
<required>true</required>
<!-- 运行时表达式 -->
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
3.for1.jsp代码如下:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@taglib prefix="u" uri="http://java.sun.com/jsp/jstl/mytld" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<u:for1>
getJspBody().invoke(null)<br>
</u:for1>
</body>
</html>
4.程序运行显示5条:getJspBody().invoke(null)