代码语言: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') }
效果如下: