灵活配置toJson时,日期的格式

后天多个列表展示,ajax  获得后台toJson船,日期格式默认为: 年月日 时分秒。

前台展示,有时候需要 年月日,有时候需要 年月日-时分秒。


JFinal里,后台是通过

me.setJsonFactory(JtnMixedJsonFactory.me());

统一设置的。


render:

public void listData() {

PagePair pagePair = PageKit.getPagePair(this);

Page<T> page = getService().listPage(pagePair);

renderJson(Result.ok().set(PAGE, page));

我在自己封装的json里:

private static class JtnMixedJson extends Json {


private static JtnJFinalJson jtnJFinalJson = JtnJFinalJson.getJson();

private static FastJson fastJson = FastJson.getJson();


public String toJson(Object object) {

String defaultDatePattern = "yyyy-MM-dd"; // null;

jtnJFinalJson.setDatePattern(defaultDatePattern);

jtnJFinalJson.setTimestampPattern(defaultDatePattern);

return jtnJFinalJson.toJson(object);

}


public <T> T parse(String jsonString, Class<T> type) {

return fastJson.parse(jsonString, type);

}

}

修改默认为 "yyyy-MM-dd"。

我发现 数据库的DateTime被映射为了 java.sql.TimeStap。

设置格式。


问题是,多个列表,格式不同呢?


在之前的项目里,我是这么做的,数据库用DateTime,fastjson序列化时(可能),默认为 数值,前台 js 手动控制格式化,灵活了,但是 每个地方都需要格式化一次。


jfinal里,想到1种方法,增加1个 注解,配置这个类 或者 某个字段的 date日期格式,统一拦截处理。


评论区

fansunion

2018-09-22 12:15

web开发常见问题,还了个框架,研发套餐,整个都得重新解决一次。解决一次,下次就快了。

fansunion

2018-09-22 12:15

也使得自己,灵活解决常见的web开发问题。

fansunion

2018-10-10 22:34

按照自己的思路先在一个项目实现了。

热门反馈

扫码入社