• JSP 自定义标签例子(BodyTagSupport)


    1.在WEB-INF下新建一个stag.tld文件 

    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag 
    Library 1.2//EN"
    "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
    <taglib>
            <tlibversion>1.0</tlibversion>
            <jspversion>1.1</jspversion>
            <shortname>tbl</shortname>
       <tag>
            <name>stag</name>
            <tagclass>test.MyTag</tagclass>
            <bodycontent>JSP</bodycontent>
            <info>To Convert in Upper case tag</info>
       </tag>
    </taglib>

    2.

    package test;
    
    import javax.servlet.*;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    import java.util.*;
    import java.io.*;
    
    public class MyTag extends BodyTagSupport 
    {
        public int doAfterBody() throws JspException {
          try {
             BodyContent bodycontent = getBodyContent();
             System.out.println("---------bodycontent---------:"+bodycontent);
             String body = bodycontent.getString();
             System.out.println("---------body---------:"+body);
             JspWriter out = bodycontent.getEnclosingWriter();
             System.out.println("---------out---------:"+out);
             if(body != null) {
                out.print(body.toUpperCase());
             }
          } catch(IOException ioe) {
             throw new JspException("Error:"+ioe.getMessage());
          }
          return SKIP_BODY;
      }
    
        @Override
        public int doEndTag() throws JspException {
            System.out.println("---------doEndTag()----------");
            return super.doEndTag();
        }
    
        @Override
        public void doInitBody() throws JspException {
            System.out.println("---------doInitBody()----------");
            super.doInitBody();
        }
    
        @Override
        public int doStartTag() throws JspException {
            System.out.println("---------doStartTag()----------");
            return super.doStartTag();
        }
    }

    3.

    <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <%@ taglib uri="/WEB-INF/stag.tld" prefix="tbl" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
      </head>
      
      <body>
        <tbl:stag>
            hello ! BodyTagSupport例子
        </tbl:stag>
      </body>
    </html>

     

  • 相关阅读:
    html5 sessionStorage util
    配置php redis 扩展
    css颜色字符串转换, 字符串转化为驼峰形式
    根据包名,在指定空间中创建对象
    列表习题
    正则题--什么时候才能到200+
    每日练习0424---函数和列表 元祖 字典的习题 sort和sorted总结
    习题之----列表和字典
    求字母的个数 求单词的个数
    字符串练习题(2)
  • 原文地址:https://www.cnblogs.com/zendwang/p/2607768.html
Copyright © 2020-2023  润新知