自定义JSP标签的执行过程
自定义JSP标签的开发流程
JSP标签API
标签库描述符
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.Tag;
import javax.servlet.jsp.tagext.TagSupport;
public class MyIfTagDemo2 extends TagSupport {
private static final long serialVersionUID = 1L;
@Override
public int doEndTag() throws JspException {
// TODO Auto-generated method stub
return Tag.EVAL_PAGE;
//return Tag.SKIP_PAGE;
}
}
<description>control show body</description>
<name>MyIfTag2</name>
<tag-class>cn.csdn.web.tag.MyIfTagDemo2</tag-class>
<body-content>JSP</body-content>
</tag>
<tag>
<description>Loop control show body</description>
<name>MyLoopTag</name>
<tag-class>cn.csdn.web.tag.MyLoopTag</tag-class>
<body-content>JSP</body-content>
</tag>
JSP 显示层
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://www.sword.com" prefix="sword" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<span><b>对标签后的文本输出控制</b></span>
<sword:MyIfTag2></sword:MyIfTag2>
<h1>没忽略我</h1>
<hr color="red">
<span><b>循环控制输出</b></span>
<sword:MyLoopTag>
<h1>蝴蝶与花的故事</h1>
<h1>落花与流水的故事</h1>
</sword:MyLoopTag>
</body>
</html>