zoukankan      html  css  js  c++  java
  • jsp自定义标签Tag

    spring自定义标签接口类RequestContextAwareTag,该类位于org.springframework.web.servlet.tags.RequestContextAwareTag

    package com.experian.web.tag;
    
    import java.io.IOException;
    
    import javax.servlet.jsp.JspException;
    import javax.servlet.jsp.JspWriter;
    
    import org.springframework.web.servlet.tags.RequestContextAwareTag;
    
    import com.billionsfinance.collectsm.common.utils.CollectionSecurityUtils;
    
    public class CollectionSecurity extends RequestContextAwareTag {
    
        private static final long serialVersionUID = 1L;
        private String content;
        public String getContent() {
            return content;
        }
    
        public void setContent(String content) {
            this.content = content;
        }
    
        @Override
        protected int doStartTagInternal() throws Exception {
            try {
                JspWriter out = this.pageContext.getOut();
                String value = CollectionSecurityUtils.decryptMode(this.content);
                showdict(value, out);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return SKIP_BODY;
        }
    
        private void showdict(String value, JspWriter out) {
            try {
                out.print(value);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        @Override
        public int doEndTag() throws JspException {
            return EVAL_PAGE;
        }
    }
    content属性为页面输入值。
    在新建的tld标签库文件中进行业务处理类进行处理
    <?xml version="1.0" encoding="UTF-8"?>
    <taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
        <tlib-version>1.0</tlib-version>
        <jsp-version>2.0</jsp-version>
        <short-name>exp</short-name>
        <uri>/experian</uri>
         <tag>
            <name>CollectionSecurity</name>
            <tag-class>com.experian.web.tag.CollectionSecurity</tag-class>
            <body-content>empty</body-content>
            <attribute>
                <name>content</name>
                <required>true</required>
                <rtexprvalue>true</rtexprvalue>
            </attribute>
        </tag>
    </taglib>
    标签说明:
     
    标签说明
    标签名
    标签说明
    tlib-version:
    tab标签版本号
    jsp-version
    jsp版本号
        name 定义属性的名称。每个标签的是属性名称必须是唯一的。
      required 指定属性是否是必须的或者可选的,如果设置为false为可选。
     rtexprvalue 声明在运行表达式时,标签属性是否有效。
     type 定义该属性的Java类类型 。默认指定为 String
     description 描述信息
     fragment 如果声明了该属性,属性值将被视为一个 JspFragment
    tag-class
    tag业务处理类地址























    jsp文件中声明操作
    <%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>
    <!--使用-->
    <exp:CollectionSecurity content="${item.idNo}"/>
     
  • 相关阅读:
    Spring IOC三种注入方式(接口注入、setter注入、构造器注入)(摘抄)
    java设计模式之代理模式
    JAVA学习中好网站
    程序员学习能力提升三要素
    ognl中的#、%和$
    二级缓存
    hibernate主键自动生成
    专科考研学校要求一览表
    Chapter 3: Connector(连接器)
    Chapter 2: A Simple Servlet Container
  • 原文地址:https://www.cnblogs.com/snail-zhe/p/6554374.html
Copyright © 2011-2022 走看看