• 简单实用jstl实现代码编写


    package com.ceshi;
    
    import java.io.IOException;
    
    import javax.servlet.jsp.JspException;
    import javax.servlet.jsp.tagext.*;
    
    public class TestTag extends SimpleTagSupport {
        private String outerTagName="p";
        public String getOuterTagName() {
            return outerTagName;
        }
        public void setOuterTagName(String outerTagName) {
            
            this.outerTagName = outerTagName;
        }
        private int count;
        
        public int getCount() {
            return count;
        }
        public void setCount(int count) {
            this.count = count;
        }
        @Override
        public void doTag() throws JspException, IOException {
            JspFragment jsp=this.getJspBody();
            this.getJspContext().getOut().write("<"+outerTagName+">");
            for(int i=0; i<count;i++){
                jsp.invoke(null);
            }
            this.getJspContext().getOut().write("</"+outerTagName+">");
            
        }
    }
    <?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>m</short-name>
      <uri>http://www.baidu.com/myjstl</uri>
      
       <tag>
        <description>
            
        </description>
        <name>show</name>
        <tag-class>com.ceshi.TestTag</tag-class>
        <body-content>scriptless</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>outerTagName</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
         <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>count</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
      </tag>
      <tag>
        
        
      </tag>
    </taglib>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@taglib prefix="m" uri="http://www.baidu.com/myjstl" %>
    <!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=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <m:show outerTagName="h4" count="2">
    hahahha<br>
    </m:show>
    </body>
    </html>

    实现效果如下:

  • 相关阅读:
    iis应用程序池定时自动回收
    js获取1100之间的随机整数
    一个简单的方法实现ASP.NET网站实现http访问强制转https(不需要URL Rewrite)
    js 生成的html class属性失效问题
    此网站无法提供安全连接(客户端和服务器不支持一般 SSL 协议版本或加密套件。)TLS 1.1/TLS 1.2配置
    nextcloud & aria2 搭建 芒果
    AndroidStudio开发Flutter使用技巧
    Jenkins配置gitlab合并分支后自动构建
    Python 中 import module 和 package 方法简单记录
    https域名证书cer转pem格式
  • 原文地址:https://www.cnblogs.com/claricre/p/6395743.html
Copyright © 2020-2023  润新知