因为 jstl 函数 字符串替换不支持正則表達式 所以想用java String的 replaceAll进行替换

须要自己定义 jstl函数

首先写类

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

<?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>
<short-name>mj</short-name>
<uri>/mj</uri> <function>
<name>repalceAll</name>
<function-class>com.salesmanb2b.el.MyJstl</function-class>
<function-signature>java.lang.String repalceAll(java.lang.String,java.lang.String,java.lang.String)</function-signature>
</function> </taglib>

填写 short-name  和 uri

以及 funciton 的 信息

最后 在 jsp页面中增加

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> <title>jstl 自己定义函数</title> </head> <body>
 ${mj:repalceAll('lllove','(l)+(.+)','$1$2') }
</body>
</html>

效果例如以下:

自己定义JSTL函数的更多相关文章

  1. JAVAWEB开发之JSTL标签库的使用、 自己定义EL函数、自己定义标签(带属性的、带标签体的)

    JSTL  JSTL简单介绍: JSTL的全称:JSP Standard Tag Library,JSP标准标签库 JSTL的作用:   提供给Java Web开发者一个标准通用的标签函数库   和E ...

  2. 权限管理之基于ACL的实现:自定义JSTL函数实现即时认证

    实现即时认证(即只有拥有相应的权限,才能做相应的操作) 经常用在,在JSP页面上,调用JSTL自定义函数做判断,显示相应的菜单或者功能按钮,比如只有管理员登陆时才显示“删除”按钮,从而完成权限的即时认 ...

  3. 自定义JSTL函数标签(一)

    jstl标签库的配置 * 将jstl.jar和standard.jar拷贝到WEB-INF/lib下(如果使用el表达式,不用拷贝这两个jar) 注意:jstl必须在能够支持j2ee1.4/servl ...

  4. Java进阶SQL函数、网页定时刷新与自定义JSTL函数

    一.SQL函数 能够在SQL语句中调用的函数(方法) ,用来实现一些小功能 聚合函数 能够把多行数据聚合成一个值(统计) count()    计数,计算数据条数 max()      计算最大值 m ...

  5. IT兄弟连 JavaWeb教程 使用JSTL函数

    在JSTL Functions标签库中提供了一组常用的EL函数,主要用于处理字符串,在JSP中可以直接使用这些函数. 在JSP中使用Functions标签库,需要通过taglib指令引入该标签库: & ...

  6. SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题

    用户定义函数(UDF)分类  SQL SERVER中的用户定义函数(User Defined Functions 简称UDF)分为标量函数(Scalar-Valued Function)和表值函数(T ...

  7. js高级程序设计书中,有一句话在全局作用域中定义的函数实际上只 能被某个对象调用???

    js没有块级作用域(题外话:函数可以作为一个块级),所以我们经常使用闭包来模拟块级作用域,以避免变量或者函数因为名称相同而产生的冲突. 重点来了: 所以,如果我们把哪个变量或者函数放在全局作用域中,那 ...

  8. JSTL函数标签库 fn标签

    JSTL函数标签库 fn标签 在使用jstl的函数标签库之前需要在页面中引入: <%@ taglib prefix="fn" uri="http://java.su ...

  9. C++ Pirmer : 第十四章 : 重载运算符与类型转换之函数调用运算符与标准库的定义的函数对象

    函数调用运算符 struct test { int operator()(int val) const { return (i > 0 ? i : -i); } }; 所谓的函数调用就是一个类重 ...

随机推荐

  1. [bzoj3065] 带插入区间第k小值 [重量平衡树套线段树]

    题面 传送门 思路 发现强制在线了...... 本来可以树套树解决的问题,现在外层不能使用线段树了,拿什么替代呢? 我们需要一种支持单点插入.下套数据结构.数据结构上传合并复杂度最多单log,不能旋转 ...

  2. 洛谷 P2173 [ZJOI2012]网络 解题报告

    P2173 [ZJOI2012]网络 题目描述 有一个无向图G,每个点有个权值,每条边有一个颜色.这个无向图满足以下两个条件: 对于任意节点连出去的边中,相同颜色的边不超过两条. 图中不存在同色的环, ...

  3. Java并发(3)- 聊聊Volatile

    引言 谈到volatile关键字,大多数开发者都有一定了解,可以说是开发者非常熟悉,深入之后又非常陌生的一个关键字.相当于轻量的synchronized,也叫轻量级锁,与synchronized相比性 ...

  4. PHP持久进程

    在有些业务需求中,一个业务逻辑会涉及很多其他模块,这时可以把不需要返回的数据,扔到后台异步处理(比如注册时邮件验证,发邮件这个过程就可以扔到后台处理). 这个时候可以在后台起一个PHP进程,轮循处理业 ...

  5. DataTable转换为实体集合

    using System; using System.Collections; using System.Collections.Generic; using System.Data; using S ...

  6. YYH的苍天大竹(NOIP模拟赛Round 6)

    题目描述 YYH擅长种竹子.今天他收获了一根竹子,准备将这根柱子卖给CHS.这个竹子有n-1个竹节.CHS要求一定要从竹节的地方砍,而且砍成若干段后每一段竹子中最长的一小段竹子和最短的一小段的长度差不 ...

  7. (转)MSI - Enable MSI Logging

    转自: http://www.cnblogs.com/atempcode/archive/2007/04/10/707917.html 安装MSI安装包的时候, 有时会遇到错误, 这时LOG文件就非常 ...

  8. 颜色混合opengl--glBlendFunc函数

    http://www.cnblogs.com/ylwn817/archive/2012/09/07/2675285.html 颜色混合opengl--glBlendFunc函数 原文:http://b ...

  9. MSSQL—字符串分离(Split函数)

    前面提到了记录合并,有了合并需求肯定也会有分离需求,说到字符串分离,大家肯定会想到SPLIT函数,这个在.NET,Java和JS中都有函数,很可惜在SQL SERVER中没有,我们只能自己来写这么一个 ...

  10. (13)C#数组

    如果需要使用同一类型的多个对象,数组是一种数据结构,它包含同一类型的多个元素 一.一维数组 1.数组的声明方法 int [] a; 因为数组是引用类型,引用类型有个特点是:声明变量时不会马上分配一个内 ...