博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Freemarker]自定义时间戳函数
阅读量:4954 次
发布时间:2019-06-12

本文共 1268 字,大约阅读时间需要 4 分钟。

使用freemarker的web项目经常需要用在Url后面加上时间戳来保证资源不被缓存,我们可以自定义方法实现时间戳。

先看freemarker配置信息:

0
zh_CN
UTF-8

下面看UrlTimestampMethodModel是如何实现的:

//必须实现freemarker.template.TemplateDirectiveModel @Componentpublic class UrlTimestampMethodModel implements TemplateDirectiveModel {    @Override    public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body)            throws TemplateException, IOException {        // 当前时间毫秒数 + 四位随机        String strTimestamp = "";        try {            strTimestamp = String.valueOf(System.currentTimeMillis()) + getRandom(1000, 9999);        } catch (Exception ex) {        }        env.getOut().write(strTimestamp);    }    private int getRandom(int min, int max) {        Random random = new Random();        return Integer.parseInt(String.valueOf(random.nextInt(max) % (max - min + 1) + min));    }}

在模板页面中这样使用:

123

 

转载于:https://www.cnblogs.com/xiaoyangjia/p/3945108.html

你可能感兴趣的文章
Office365学习笔记—Lookup类型加载条目过多解决方案
查看>>
MySQL update select组合
查看>>
Angular05 angular架构、搭建angular开发环境、组件必备三要素、angular启动过程
查看>>
asp程序调试
查看>>
VB.Net中 Module 的前世今生
查看>>
ASP.NET MVC 创建前台链接到View的标签和前台向后台传值
查看>>
2013-5-20~24 周报 公司建言
查看>>
ClientScript.GetCallbackEventReference几个参数的使用实例
查看>>
cocos3.x - lua vs2013环境搭建及项目创建示例
查看>>
Android布局学习——android:gravity和android:layout_gravity的区别
查看>>
街机扫描线_自定义配置文件提交区
查看>>
git配置,以及简单的命令
查看>>
可拖曳
查看>>
Java语言中,类所拥有的“孩子”,他们的关系是怎样的
查看>>
ExtAspNet 本地化战略调整
查看>>
Linux操作系统常用命令合集——第二篇- 用户和组操作(15个命令)
查看>>
C#日期格式转换
查看>>
php CI框架高级视图功能,视图继承,多重继承,视图片段
查看>>
Codeforces 662D International Olympiad【贪心】
查看>>
Vue组件v-if新渲染的组件不更新
查看>>