首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
template engine模板 页面怎么时间格式化
疑思静想
2017-02-20 15:42
template engine模板 页面怎么时间格式化
项目:
JFinal
4
4
评论区
JFinal
2017-02-20 16:00
使用一下 #date(...) 指令,有如下两种用法:
1:#date(xxx) 使用默认格式输出,这个默认格式可以通过 engine.setDatePattern(...)配置
2:#date(xxx, "yyyy-MM-dd HH:mm:ss") 使用指定的格式输出
回复
疑思静想
2017-02-20 16:04
@JFinal
非常感谢
回复
rapin
2017-02-20 17:50
@JFinal
文档里居然没写,还以为没有,然后自己写个一个。。。。波总偷懒。
回复
JFinal
2017-02-20 17:56
@rapin
你自己也写了一个? 分享出来看看
回复
gaurder
2017-03-02 14:09
@JFinal
3.0 模板里面怎么格式化数字和金额?目前只看到了格式日期,例如先前freemarker里面的写法:${((day_pft_val)!0.00)?string(',###.00')}
回复
JFinal
2017-03-02 16:17
@gaurder
用自定义指令、sharedMethod 、sharedObject 三种扩展方式都可以很容易去解决,参考一下 #date 指令的实现方式
回复
疑思静想
2017-03-02 17:21
@gaurder
用自定义指令
代码如下
public class Money extends Directive{
@Override
public void exec(Env env, Scope scope, Writer writer) {
DecimalFormat df = new DecimalFormat("#.00");
Object value = exprList.eval(scope);
if (value != null) {
value = df.format(value);
write(writer, value.toString());
}
}
}
me.addDirective("money", new Money());
#money(price)
回复
JFinal
2017-03-02 20:30
@疑思静想
非常之好,越来越多的小伙伴开始使用自定义指令、sharedMethod、sharedObject、template function 来做扩展了,一致的感觉是:妙不可言
回复
JFinal
2017-03-02 20:31
@疑思静想
能否将你的扩展方案,发一篇分享贴子出来啊,挺有用的扩展
回复
gaurder
2017-03-03 09:12
@JFinal
感谢波总的回答,原以为自己文档或代码看漏了,所以就来问下,已经着手在写自定义格式化指令了。
升级3.0的途中,发现少数freemarker指令没有现成可用,其余均能找现成的,说实话常用的也就那么几个指令。
回复
gaurder
2017-03-03 09:19
@疑思静想
嗯,TKS
回复
JFinal
2017-03-03 11:38
@gaurder
jfinal 是极简设计,为了保持极简,很多功能都在克制不去做,只做了最常用的功能,但 jfinal 提供了简单且丰富的扩展方式,扩展起来很容易,如果有啥扩展,还请来分享频道分享给小伙伴们
回复
发送
我要反馈
热门反馈
扫码入社
1:#date(xxx) 使用默认格式输出,这个默认格式可以通过 engine.setDatePattern(...)配置
2:#date(xxx, "yyyy-MM-dd HH:mm:ss") 使用指定的格式输出