template engine模板 页面怎么时间格式化

 template engine模板   页面怎么时间格式化

评论区

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

JFinal

2017-03-03 11:38

@gaurder jfinal 是极简设计,为了保持极简,很多功能都在克制不去做,只做了最常用的功能,但 jfinal 提供了简单且丰富的扩展方式,扩展起来很容易,如果有啥扩展,还请来分享频道分享给小伙伴们