1.BodyTag.java
package com.zy.tag;import java.io.IOException;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.tagext.JspFragment;import javax.servlet.jsp.tagext.SimpleTagSupport;public class BodyTag extends SimpleTagSupport{ ???@Override ???public void doTag() throws JspException, IOException { ???????//获取标签体内容对象 ???????JspFragment jb = this.getJspBody(); ???????//获取PageContext对象 ???????PageContext context= (PageContext) this.getJspContext(); ???????//获取JspWriter对象 ???????JspWriter out = context.getOut(); ???????//将标签体内容输出到指定writer对象中,循环5次 ???????for (int i = 0; i < 5; i++) { ???????????jb.invoke(out); ???????} ???????out.flush(); ???????super.doTag(); ???}}
2.bodyTag.tld
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd" ><taglib> ?<tlib-version>1.0</tlib-version> ?<jsp-version>1.0</jsp-version> ?<short-name>bodyTag</short-name> ?<uri>http://www.zy.bodyTag</uri> ?<tag> ???<name>body</name> ???<tag-class>com.zy.tag.BodyTag</tag-class> ???<body-content>scriptless</body-content> ?</tag></taglib>
3.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@taglib uri="http://www.zy.bodyTag" prefix="bodyTag" %><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>首页</title></head><body background="../img/body-bg.png"> ???<hr/> ???<bodyTag:body> ???????输出自定义标签体内容到页面demo! ???</bodyTag:body> </body></html>
4.效果图
jsp自定义标签获取标签体内容输出到页面展示《三》
原文地址:https://www.cnblogs.com/yixtx/p/8359967.html