SpringEL-正则表达式


Spring EL支持正则表达式,可使用一个简单的关键词“matches”。

一、编写Bean类

Email类:

package com.yiidian.domain;
/*** * @author http://www.yiidian.com* */
public class Email {private String emailAddress;public String getEmailAddress() {return emailAddress;}public void setEmailAddress(String emailAddress) {this.emailAddress = emailAddress;}}

Customer类:

package com.yiidian.domain;import java.io.Serializable;/*** * @author http://www.yiidian.com* */
public class Customer implements Serializable {// email regular expressionString emailRegEx = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)"+ "*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";// if this is a digit?private boolean validDigit;// if this is a digit + ternary operatorprivate String msg;// if this emailBean.emailAddress contains a valid email address?private boolean validEmail;@Overridepublic String toString() {return "Customer [validDigit="+ validDigit + ", msg=" + msg + ", validEmail=" + validEmail+ "]";}public String getEmailRegEx() {return emailRegEx;}public void setEmailRegEx(String emailRegEx) {this.emailRegEx = emailRegEx;}public boolean isValidDigit() {return validDigit;}public void setValidDigit(boolean validDigit) {this.validDigit = validDigit;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public boolean isValidEmail() {return validEmail;}public void setValidEmail(boolean validEmail) {this.validEmail = validEmail;}}

二、配置applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="customer" class="com.yiidian.domain.Customer"><property name="validDigit" value="#{'100' matches '\d+' }" /><property name="msg"value="#{ ('100' matches '\d+') == true ? 'yes this is digit' : 'No this is not a digit'  }" /><property name="validEmail"value="#{email.emailAddress matches '^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$' }" /></bean><bean id="email" class="com.yiidian.domain.Email"><property name="emailAddress" value="admin@yiidian.com" /></bean></beans>

三、编写测试类

package com.yiidian.test;import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.yiidian.domain.Customer;/*** @author http://www.yiidian.com* */
public class Demo1 {@Testpublic void test1() {ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");Customer customer = (Customer)context.getBean("customer");System.out.println(customer);}}

四、运行结果

源码下载:http://pan.baidu.com/s/1jH7GySQ

Spring4.x(16)--SpringEL-正则表达式相关推荐

  1. Clojure 学习入门(16)- 正则表达式

    一.创建正则表达式  re-pattern函数:  函数 (re-pattern) 接受一个字符串参数,返回一个正则表达式样式(java.util.regex.Pattern类的实例).这个样式能用于 ...

  2. 16. Perl 正则表达式-正则替换

    正则表达式除了判断字符串是否匹配某个模式之外,也可以将匹配到的字符串进行替换. 1. 正则替换语法 默认正则表达式只替换一次 默认正则表达式返回替换的次数 1.1 简写语法 简写方式就是对于内置变量$ ...

  3. 非常经典的正则表达式

    本文是Jan Goyvaerts为RegexBuddy写的教程的译文,版权归原作者所有,欢迎转载.但是为了尊重原作者和译者的劳动,请注明出处!谢谢! 1.      什么是正则表达式 基本说来,正则表 ...

  4. 正则表达式python实例_常见的python正则用法实例讲解

    1.测试正则表达式是否匹配字符串的全部或部分 2.测试正则表达式是否匹配整个字符串 3.创建一个匹配对象,然后通过该对象获得匹配细节(Create an object with details abo ...

  5. 正则表达式:密码中至少包含大写字母、小写字母、数字、特殊字符等字符中的2种或3种

    目录 前言 先行断言 是否有那么一个开始符号,它后面的字符中包含小写字母(a-z) 正向否定查找 是否有那么一个开始符号,它后面不全是小写字母(a-z) 密码中只包含字母且长度在8-16之间 密码中同 ...

  6. 深入浅出之正则表达式(二)(转载)

    前言:        本文是前一片文章<深入浅出之正则表达式(一)>的续篇,在本文中讲述了正则表达式中的组与向后引用,先前向后查看,条件测试,单词边界,选择符等表达式及例子,并分析了正则引 ...

  7. 深入浅出之正则表达式(二)

    深入浅出之正则表达式(二) http://dragon.cnblogs.com/archive/2006/05/09/394923.html 前言:        本文是前一片文章<深入浅出之正 ...

  8. JavaScript高级之正则表达式

    1. 正则表达式概述 1.1 什么是正则表达式 正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式.在 JavaScript中,正则表达式也是对象. 正则表通常被用 ...

  9. JavaScript从入门到放弃 -(六)正则表达式

    正则表达式 1. 正则表达式概述 1.1 什么是正则表达式 1.2 正则表达式的特点 2. 正则表达式在JavaScript中的使用 2.1 创建正则表达式 2.1.1 通过调用 RegExp 对象的 ...

最新文章

  1. UIAlertView UIActionSheet随笔笔记
  2. P4064 [JXOI2017]加法
  3. MySql 5.6.36 64位绿色版安装
  4. 利用 PicGo 实现 MarkDown 自动上传图片
  5. 我换了一个灯泡,看看互联网大厂员工们的简历上都会怎么写
  6. ADO.NET 2.0 的并行控制与数据存取冲突侦测
  7. 被弃用的 Docker 未死:带着 1.05 亿美元融资“回归”,估值高达 21 亿
  8. js获得浏览器高度和宽度 参数
  9. Scrapy爬取起点中文网小说信息 绝对领域cosplay
  10. chm文件打不开的解决办法
  11. Securing Big Data Provenance for Auditors: The Big Data Provenance Black Box as Reliable Evidence
  12. iPhonexr安兔兔html5测试,iPhone XR安兔兔跑分数据出炉,跟XS对比相差大吗?
  13. 猫和老鼠服务器正在修复中,猫和老鼠手游:关于29日在游戏中出现的异常问题 是暗改还是bug?...
  14. Clickhouse多磁盘存储
  15. hibernate 乐观锁
  16. 如何在IDEA上创建一个Maven项目2022版
  17. 泡泡龙游戏算法实现简介
  18. 从单张图重建三维人体模型综述(四)
  19. Matlab仿真,数字基带传输系统的设计实验报告
  20. cuDNN学习笔记(3)-- 卷积公式

热门文章

  1. matlab中定点数16位转为14位,如何使用python将浮点数转换为具有预定义位数的固定点...
  2. 新增成功到编制为空bug_36 个JS 面试题为你助力金九银10
  3. CAN 总线嵌入式驱动编程
  4. android拍照图片如何存储空间不足,拍照时手机存储空间提示不足? OPPO云服务太贴心了...
  5. 安卓+4.0.4+java模拟器_Android 4.0.4模拟器安装完全教程(图文)
  6. Matlab添加BNT工具箱
  7. linux 查tls模块,TLSSLed · Kali Linux Tools Documents · 看云
  8. flask返回数据类型
  9. 封装动态数组类Array
  10. java锁的膨胀过程和优化