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}"/>