• 在做国泰君安2016年中秋送电影票活动中,需要做这样一个手机页面,展示所有中奖用户的中奖信息。如下图:

要求对用户的后记号码中间5位做隐藏处理。最开始的处理方法是在对用户实体的get()方法做处理

 /**
* @return the mobile
*/
public String getMobile() {
if (mobile!=null&&mobile.matches("^0?[1][0-9]{10}$")) {
int le = mobile.length();
String start = mobile.substring(0, 3);
StringBuffer sb = new StringBuffer(start);
for (int i = 0; i < le - 6; i++) {
sb.append("*");
}
String end = mobile.substring(le - 3, le);
sb.append(end);
return sb.toString();
} else {
return "";
}
} /**
* @param mobile
* the mobile to set
*/
public void setMobile(String mobile) {
this.mobile = mobile;
}

但是不知道什么原因(原因以后补充),导致在用这个实体类向数据库中插入数据时,数据库的手机号码中间5位也被隐藏了。所以就放弃了这种方法。

我就来了一个比较蛮的方法,对查询回来的list数组for循环,但是由于list里面还包有一层list,所以一共有3重for循环,在有大量数据的情况下,响应会很慢,这种方法也不可用。

最后,王俊华帮我找到了一个简单的方法,就是在实体类中,新写了一个方法,作用相当于重载了前面提到的getMobile方法。

 /**
* @return the mobile
*/
public String getShortMobile() {
if (StringUtils.isNotBlank(mobile)) {
int le = mobile.length();
String start = mobile.substring(0, 3);
StringBuffer sb = new StringBuffer(start);
for (int i = 0; i < le - 6; i++) {
sb.append("*");
}
String end = mobile.substring(le - 3, le);
sb.append(end);
return sb.toString();
} else {
return "";
}
}

再对页面返回的json做了一点点改动,就能达到了想要的效果。

但是我暂时没有理解为什么可以这样做,等理解了再来补充。

关于freemaker的一点使用技巧的更多相关文章

  1. maven在idea中的一点使用技巧

    maven在idea中的一点使用技巧 idea已经支持将参数的意思也展示出来,确实很方便. -U是强制拉取,因为如果拉取某个jar包,失败了,那么在一段时间内,idea不会重试,除非指定-U. -X呢 ...

  2. ssm开发的一点小技巧

    一般使用反转工作生成基础bean如Items然后我们使用的实体类一般是基础bean的拓展类ItemsCustomer,继承自基础类,这个是为了方便对于表字段的更改生成的bean影响减低我们查询一般是使 ...

  3. android 操作sqlite的一点小技巧

    1.android 在sqlite插入数据时,是非常耗时的操作,原因是sqlite缺省会为每个插入操作开启一个事务,当数量变多的时候,自然时间就变得很慢,这时候可以考虑在插入等操作时先开启一个事务,再 ...

  4. 对于shell脚本参数获取时的一点小技巧

    问题如下: 根据脚本参数的个数$#进行一个循环,在依次输出每个参数$1 $2 $3...... 我有一个循环变量i $i 取到这时的i为1,我想使用这个1再去调用$1,也是就是打印出第一个参数 就是$ ...

  5. 使用yii中CSecurityManager的一点小技巧

    当我们使用CSecurityManager::encrypt对字符串进行加密, 加密后的字符串是一串乱码(看起来确实像乱码, 具体是什么有待考证), 这不利于我们的下一步操作. 我们可以使用base6 ...

  6. android rss阅读器开发一点小技巧

    这几天一直在学习开发Rss阅读器,遇到一个很坑的问题,InputSource这里总是出错.弄了好久,终于让我找到一个解决方法----看代码: new Thread(){ @Override publi ...

  7. Java一点输入输出技巧

    输入: 格式1:Scanner sc = new Scanner(System.in); 格式2:Scanner sc = new Scanner(new BufferedInputStream(Sy ...

  8. 用Visual Studio编写UDF的一点小技巧(二)

  9. 用Visual Studio编写UDF的一点小技巧(自动补全宏函数、变量)

    下载Visual Studio,安装VS 下载番茄助手(Visual Assist X),链接:www.wholetomato.com,然后安装番茄助手 打开VS

随机推荐

  1. Tyrion中文文档(含示例源码)

    Tyrion是一个基于Python实现的支持多个WEB框架的Form表单验证组件,其完美的支持Tornado.Django.Flask.Bottle Web框架.Tyrion主要有两大重要动能: 表单 ...

  2. inux中shell截取字符串方法总结

    shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...

  3. ubuntu server 12.04U盘安装,提示无法挂载安装光盘或光盘读取数据出错

    今天用Ultraiso将Ubuntu server 12.04 刻入U盘中安装系统,中间提示错误:1.检测不到cdrom(即U盘没有挂载上):2.从光盘中读取数据出错.问题如下图所示: 上网搜了下解决 ...

  4. 百度富文本编辑器UEDITOR

    前言 http://jingyan.baidu.com/article/a948d65108d7fa0a2dcd2e8d.html 配置<a>测试啊</a>.net mvc4项 ...

  5. JSTL 自定义标签

    编写描述标签的tld文件,把这个文件放到web-inf/目录下,才能在jsp页面上调用自定义的标签 package test.yz; import java.io.IOException; impor ...

  6. 在github分支上上传空文件夹

    GIT工具是依靠文件来识别文件夹的,对于空的文件夹是不能识别的.因此如果需要在代码中增加一个空文件夹,同时需要在文件夹中增加一个空文件.gitkeep 当批量增加空文件夹时,可以在GIT库的根目录下输 ...

  7. 返回值是TEXT的阿贾克斯方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 关于java写进mysql中文乱码问题

    Eclipse   windows-preferences-general-workspace选择为UTF-8 Mysql 创建时选择UTF-8 URL = "jdbc:mysql://12 ...

  9. Python爬虫爬取百度贴吧的图片

    根据输入的贴吧地址,爬取想要该贴吧的图片,保存到本地文件夹,仅供参考: #!/usr/bin/python#_*_coding:utf-8_*_import urllibimport urllib2i ...

  10. paper 121 :matlab中imresize函数

    转自:http://www.cnblogs.com/rong86/p/3558344.html matlab中函数imresize简介: 函数功能:该函数用于对图像做缩放处理. 调用格式: B = i ...