关于Jfinal weixn 升级到2.0之后出现的问题

问题描述:

项目是用Spring Mvc 前端4.2.7 ,Mybatis.非spring boot,原来在项目中引用的jfinal weixin 1.9,并没有引用jfinal jar包,没有配置任何的jfinal初始化的代码。直接使用,可以实现微信公众号网页相关的开发.如支付、授权等等功能。

现在将jfinal weixin 升级到 2.0后。发现必须要引用jfinal 于是引用了  jfinal 3.4版本,项目启动时没有报错,但是在调用如下代码时

JsTicket jsApiTicket = JsTicketApi.getTicket(JsApiType.jsapi);

提示如下错误

final 3.4默认 json 实现暂不支持 json 到 object 的转换,建议使用 active recrord 的 Generator 生成 base model,再通过 me.setJsonFactory(new MixedJsonFactory()) 来支持



是需要做什么额外的处理么?需要在某个初始化的地方设计Json的解析器么?查询了一些资料没有头绪 ,麻烦了.

评论区

JFinal

2018-07-06 13:52

系统启动的时候找个地方调用一下配置:
JsonManager.me().setDefaultJsonFactory(new MixedJsonFactory());

或者调用一下 jfinal weixin 中的这个也可以:
JsonUtils.setJsonFactory(new MixedJsonFactory());

使用后面这种方式,可以让 jfinal weixin 中的 json 配置与 jfinal 中 configConstant 中的配置分隔开,互不影响

lrjlrj

2018-07-06 14:28

今天调试可以用了,如果只调用jfinal-winxin2.0 ,在项目中加个类就好。

@Component
public class JfinalInit {

protected final Logger logger = LogManager.getLogger(this.getClass());

@PostConstruct
public void init(){
logger.info("----Jfinal init operation----");
//JsonManager.me().setDefaultJsonFactory(new MixedJsonFactory());//修改初始配置
JsonUtils.setJsonFactory(new MixedJsonFactory()); //此方法不影响其他配置 SnsAccessToken 中使用到json工具类。
}
}

richpencil

2018-07-07 13:34

非常感谢,经测试可用! 高手高手高高手!

热门反馈

扫码入社