• el自定义函数


    jsp页面引用:  用taglib指令,引入自定义的EL函数库 

    1 <%@ taglib prefix="re" uri="http://com.kintech/taglib/regularExpression"  %>
     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
     3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
     5         version="2.0">
     6 
     7     <!-- 标签库的描述 -->
     8     <description>写一个支持正则表达式的el函数</description>
     9 
    10     <!-- 定义这个标签库的版本 -->
    11     <tlib-version>1.0</tlib-version>
    12 
    13     <!-- taglib指令中prefix需要制定的部分,可以任意写,但是尽可能和文件名保持一致,方便管理。 -->
    14     <short-name>Re</short-name>
    15 
    16     <!-- taglib指令中URI需要指定的部分,可以任意写 -->
    17     <uri>http://com.kintech/taglib/regularExpression</uri>
    18 
    19     <!-- 一个function结点 就是一个EL自定义函数 -->
    20     <function>
    21         <description>拼接两个字符串</description> <!--函数的功能描述-->
    22         <name>joinSting</name> <!--EL函数名,也就是在JSP页面中使用时的名称,它可以和java代码中的函数名不一样-->
    23         <function-class>com.kintech.web.tag.RegularExpressionTag</function-class> <!--函数所在的类 需要绑定的类的全限定名-->
    24         <function-signature>java.lang.String Join(java.lang.String,java.lang.String)</function-signature> <!-- 自定义函数签名的完整写法,忽略形参:方法返回类型 方法名 (参数的类型列表...) -->
    25         <example>${Re:joinSting(aaa,bbb)}</example>
    26     </function>
    27 
    28     <function>
    29         <description>过滤特殊字符字符</description> <!--函数的功能描述-->
    30         <name>regEx</name> <!--EL函数名,也就是在JSP页面中使用时的名称,它可以和java代码中的函数名不一样-->
    31         <function-class>com.kintech.web.tag.RegularExpressionTag</function-class> <!--函数所在的类 需要绑定的类的全限定名-->
    32         <function-signature>java.lang.String regEx(java.lang.String)</function-signature> <!-- 自定义函数签名的完整写法,忽略形参:方法返回类型 方法名 (参数的类型列表...) -->
    33         <example>${re:regEx(item.showFileName)}</example>
    34     </function>
    35 
    36 </taglib>

    java:

     1 package com.kintech.web.tag;
     2 
     3 import java.util.regex.Matcher;
     4 import java.util.regex.Pattern;
     5 
     6 /**
     7  * Created by jsj on 2020/3/11.
     8  */
     9 public class RegularExpressionTag {
    10 
    11     //自定义EL函数必须用static修饰
    12     //实现两个字符串的拼接
    13     public static String Join(String source,String target) {
    14         return source+target;
    15     }
    16 
    17     public static String regEx(String target){
    18         // 只允许字母和数字
    19         // String regEx ="[^a-zA-Z0-9]";
    20         // 清除掉所有特殊字符
    21         String regEx="[`~!@#$%^&*()+=|{}':;',\[\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
    22         Pattern p = Pattern.compile(regEx);
    23         Matcher m = p.matcher(target);
    24         return m.replaceAll("").trim();
    25     }
    26 }

     在jsp页面的引用: ${Re:joinSting(参数1,参数2)}

    最后再来看一下我项目里面的目录结构:

  • 相关阅读:
    C++11 学习总结
    平衡二叉树 (AVL) 笔记
    拼图模板
    2013.9.12
    2013.9.11
    2013.9.10
    2013.9.9
    下载网站
    ubuntu 安装codeblocks
    12个球称3次找坏球的完美解答
  • 原文地址:https://www.cnblogs.com/time1997/p/12553029.html
Copyright © 2020-2023  润新知