• 在做国泰君安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. 在Eclipse中使用Git提交到远程仓库

  2. Peter Norvig:自学编程,十年磨一剑

    若要在某一领域内达到专家级的水平,其关键在于"审慎地重复",也就是说,并非是机械地,一遍又一遍地练习,而是要不断地挑战自我,试图超越自身当前的水平,通过不断的尝试挑战,并在尝试的过 ...

  3. windows update一直卡住:“正在此计算机上搜索更新”

    参考:http://blog.163.com/smile_big/blog/static/35710579201611875333164/ 解决办法: 管理员运行cmd,输入以下命令 net stop ...

  4. CentOS6.6安装及配置vsftpd文件服务器

    1.安装vsftpd和db4-utils,后者用来生成密码库文件,命令如下: # yum install -y vsftpd db4* 2.修改SELINUX,命令如下: # vim /etc/sys ...

  5. android service两种启动方式

    android service的启动方式有以下两种: 1.Context.startService()方式启动,生命周期如下所示,启动时,startService->onCreate()-> ...

  6. Ubuntu下安装Docker

    1. 安装前先检查系统对docker的支持,尽可能安装高版本的系统,比如Ubuntu14.04等,安装前可以先检查系统信息. Docker需要64位机器,需要运行在3.8以上的内核上,需要操作系统支持 ...

  7. Db2数据库的备份和恢复

    DB2数据库备份与恢复 1.    备份 1.1离线备份(必须在数据库所在PC机进行操作) STEP 1 连接到要备份的数据库 C:\Documents and Settings\Administra ...

  8. 用自己赚的钱第一次坐飞机 那feel倍儿爽

    马年春晚上,歌手大张伟的神曲<倍儿爽>如今已传遍大街小巷.其实,不管人家到底有没有炒作,能让我们这些观众感觉到放松.乐呵,那就是一个成功的春晚节目.而今年,我也如同这歌中唱的一样,活得倍儿 ...

  9. Material Design Lite,简洁惊艳的前端工具箱。

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .网站上有对应每一 ...

  10. ImageView cannot be resolved to a type

    问题: ImageView cannot be resolved to a type 报这样的错误是没有加载MainActivity.java文件中加入 import android.widget.I ...