自定义JSTL函数

2021-08-27 11:37:44 浏览数 (2)

代码语言:javascript复制

由于 jstl 函数 字符串替换不支持正则表达式 所以想用java String的 replaceAll进行替换

需要自定义 jstl函数

首先写类

代码语言:javascript复制
package com.salesmanb2b.el;

//自定义el函数
public class MyJstl 
{
	/**
	 * 支持正则表达式的替换
	 * @param orgStr 原始的字符串
	 * @param regex 用来匹配的正则表达式
	 * @param replacement 替换的文本
	 * @return
	 */
	public static String repalceAll(String orgStr,String regex, String replacement)
	{
		return orgStr.replaceAll(regex, replacement);
	}

}

然后在web-info 下创建对应的tld文件  MyJstl.tld

代码语言:javascript复制
 1.0
 mj
 /mj
 
   
        repalceAll  
        com.salesmanb2b.el.MyJstl  
        java.lang.String repalceAll(java.lang.String,java.lang.String,java.lang.String)  

填写 short-name  和 uri

以及 funciton 的 信息

最后 在 jsp页面中加入

代码语言:javascript复制
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib prefix="mj" uri="/WEB-INF/MyJstl.tld"  %> 



  
  
   
  jstl 自定义函数

 

  
  
  
     ${mj:repalceAll('lllove','(l) (. )','$1$2') }

效果如下:

0 人点赞