`
ap061ap
  • 浏览: 13231 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用正则表达式处理邮件模板中的参数

阅读更多

  软件开发过程中,经常使用JavaMail给用户发送邮件;大多说情况下使用的是自定义的模板;定义模板的时候,经常使用这样的形式:${parameter}预留信息,然后使用以parameter为key的map,在map中存放的是具体应该放在${parameter}位置的信息,让后生产发给用户的邮件内容;      下面是鄙人在开发过程中使用的测试用例,记录下来以备后用,也希望能够帮助开发过程中遇到发送邮件,使用模板的童鞋少走点弯路,贴在下面,以飨童鞋;
  public class TestEmail { public static void main(String[] args) { // 邮件模板 StringBuffer htmlText = new StringBuffer( "感谢您注册万维网的账户,ID是${id},昵称是${usrName},你的密码是${ password },这封邮件是系统自动发出的,不需要回复,如果有疑问,wang_walden@163.com谢谢;"); // 带有参数值的Map Map parameterMap = new HashMap(); parameterMap.put("id", "357568"); parameterMap.put("usrName", "walden.wang"); parameterMap.put("password", "12345678"); StringBuffer result = producesEmail(htmlText, parameterMap); System.out.println(result); } /** * 取出htmlText文本中${parameter}的parameter作为key将parameterMap中对应的value * 放在HTML模板中,返回邮件内容 * * @param htmlText * 邮件模板 * @param parameterMap * 参数映射表 * @return */ private static StringBuffer producesEmail(StringBuffer htmlText, Map parameterMap) { // parameter前后空格已经去掉,对应的map中key前后应该不应该有空格了 Pattern pt = Pattern.compile("\\$\\{\\s*([^\\}\\s]+)\\s*\\}"); Matcher mt = pt.matcher(htmlText); StringBuffer result = new StringBuffer(); while (mt.find()) mt.appendReplacement(result, parameterMap.get(mt.group(1))); mt.appendTail(result); return result; } }
分享到:
评论

相关推荐

    风越ASP代码生成器 2.4

    正则表达式测试器(可设置、保存常用正则表达式) 获取键盘的按键值 网页隐藏资源下载,可下载无法直接得到URL的SWF、图片、音乐等资源 获取汉字的拼音、五笔编码、笔画数、笔顺名、部首等信息,并可进行汉字繁/...

    风越ASP代码生成器FireAspCreatorv2.9.rar

    正则表达式测试器(可设置、保存常用正则表达式) 获取键盘的按键值 网页隐藏资源下载,可下载无法直接得到URL的SWF、图片、音乐等资源 获取汉字的拼音、五笔编码、笔画数、笔顺名、部首等信息,并可进行汉字繁/简体...

    PHP入门到精通

    正则表达式(教学录像:28分34秒) 6.1什么是正则表达式 6.2正则表达式语法规则 6.3POSIX扩展正则表达式函数 6.4PCRE兼容正则表达式函数 PHP数组(教学录像:56分29秒) 7.1了解数组 7.2声明数组 7.3数组的类型 7.4...

    PHP入门到精通02

    正则表达式(教学录像:28分34秒) 6.1什么是正则表达式 6.2正则表达式语法规则 6.3POSIX扩展正则表达式函数 6.4PCRE兼容正则表达式函数 PHP数组(教学录像:56分29秒) 7.1了解数组 7.2声明数组 7.3数组的类型 7.4...

    风越.Net代码生成器 [FireCode Creator] V1.3 精简版

    正则表达式测试器(可设置、保存常用正则表达式) 获取键盘的按键值 网页隐藏资源下载,可下载无法直接得到URL的SWF、图片、音乐等资源 获取汉字的拼音、五笔编码、笔画数、笔顺名、部首等信息,并可进行汉字繁/...

    风越.net代码生成器v2.9

    正则表达式测试器(可设置、保存常用正则表达式) 获取键盘的按键值 网页隐藏资源下载,可下载无法直接得到URL的SWF、图片、音乐等资源 获取汉字的拼音、五笔编码、笔画数、笔顺名、部首等信息,并可进行汉字繁/...

    风越ASP代码生成器2.8

    正则表达式测试器(可设置、保存常用正则表达式) 获取键盘的按键值 网页隐藏资源下载,可下载无法直接得到URL的SWF、图片、音乐等资源 获取汉字的拼音、五笔编码、笔画数、笔顺名、部首等信息,并可进行汉字繁/...

    QTP技术集锦--总结

    55. 正则表达式应用模板 125 56. Wscript.shell 的应用 126 57. Create log file 126 58. 对象同步 127 59. 异常控制 127 60. Check if the object.exist 128 61. QTP场景恢复 129 62. QTP步骤生成器 135 63. IFRAME...

    QTP描述性编程技术集锦

    55. 正则表达式应用模板 125 56. Wscript.shell 的应用 126 57. Create log file 126 58. 对象同步 127 59. 异常控制 127 60. Check if the object.exist 128 61. QTP场景恢复 129 62. QTP步骤生成器 135 63. IFRAME...

    廖雪峰python3 完整带索引,图片 最新教程 pdf版

    正则表达式 常用内建模块 datetime collections base64 struct hashlib hmac itertools contextlib urllib XML HTMLParser 常用第三方模块 Pillow requests chardet psutil virtualenv 图形界面 网络编程 TCP/IP简介...

    PHP和MySQL Web开发第4版pdf以及源码

    17.5 在Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_auth_mysql 17.7 创建自定义身份验证 17.8 进一步学习 17.9 下一章 第18章 ...

    PHP和MySQL Web开发第4版

    17.5 在Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_auth_mysql 17.7 创建自定义身份验证 17.8 进一步学习 17.9 下一章 第18章 ...

    PHP和MySQL WEB开发(第4版)

    17.5 在Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_auth_mysql 17.7 创建自定义身份验证 17.8 进一步学习 17.9 下一章 第18章 使用PHP和...

    Python 3教程(廖雪峰).rar

    正则表达式 298 常用内建模块 304 datetime 305 collections 312 base64 317 struct 320 hashlib 322 itertools 327 contextlib 331 XML 336 HTMLParser 341 urllib 344 常用第三方模块 349 virtualenv...

    asp.net技术内幕(1)

    使用ADO.NET <br>第9章 ADO.NET简介 <br>9.1 ADO.NET概述 9.2 执行常见的数据库任务 9.2.1 打开数据库链接 9.2.2 从数据库表获取记录 9.2.3 在查询中使用参数 9.2.4 向数据库添加记录 ...

    asp.net技术内幕(2)

    使用ADO.NET <br>第9章 ADO.NET简介 <br>9.1 ADO.NET概述 9.2 执行常见的数据库任务 9.2.1 打开数据库链接 9.2.2 从数据库表获取记录 9.2.3 在查询中使用参数 9.2.4 向数据库添加记录 ...

    asp.net技术内幕(5)

    使用ADO.NET <br>第9章 ADO.NET简介 <br>9.1 ADO.NET概述 9.2 执行常见的数据库任务 9.2.1 打开数据库链接 9.2.2 从数据库表获取记录 9.2.3 在查询中使用参数 9.2.4 向数据库添加记录 ...

    asp.net技术内幕(4)

    使用ADO.NET <br>第9章 ADO.NET简介 <br>9.1 ADO.NET概述 9.2 执行常见的数据库任务 9.2.1 打开数据库链接 9.2.2 从数据库表获取记录 9.2.3 在查询中使用参数 9.2.4 向数据库添加记录 ...

    asp.net技术内幕(3)

    使用ADO.NET <br>第9章 ADO.NET简介 <br>9.1 ADO.NET概述 9.2 执行常见的数据库任务 9.2.1 打开数据库链接 9.2.2 从数据库表获取记录 9.2.3 在查询中使用参数 9.2.4 向数据库添加记录 ...

Global site tag (gtag.js) - Google Analytics