JFinal+i18n插件时使用renderJson()时报JSON转换出错

JFinal+i18n插件时使用renderJson()时报JSON转换出错

使用setAttr(key,value);

renderJson();

时报json 转换失败。

但使用renderJson(key,value)就不会有问题。

请问i18n插件 是不是使用了setAttr特殊的东西导致renderJson()不能使用。


评论区

JFinal

2017-11-03 12:09

jfinal 官方并没有提供过 i18n 插件,并且也没看到具体转换出了什么错误,信息量严重不足

terra999

2017-11-03 15:03

public void configInterceptor(Interceptors me) {
me.add(new I18nInterceptor());}
这个的时候
会调用 c.setAttr(getResName(), res);
这个方法
所以在 renderJson();的时候 转换的时候就出错了。
请问怎么解决。

terra999

2017-11-03 15:03

@JFinal public void configInterceptor(Interceptors me) {
me.add(new I18nInterceptor());}
这个的时候
会调用 c.setAttr(getResName(), res);
这个方法
所以在 renderJson();的时候 转换的时候就出错了。
请问怎么解决。

JFinal

2017-11-03 16:01

在 YourJFinalConfig extends JFinalConfig 里头的任何一个方法中添加如下代码,可极速打完收工:
JsonRender.addExcludedAttrs("_res");

注意上面的参数,如果你改过 i18n 默认参数的话,就需要做相应改变

terra999

2017-11-03 16:16

@JFinal 哈哈 不知道有这个方法看到你之前说的方法把getJsonRender 重写了
public void render() {
this.request.removeAttribute("_res");
super.render();
}
估计实现方式一样。
谢谢。

JFinal

2017-11-03 16:17

@terra999 用我上面介绍的方法更方便,是 jfinal 已有的机制,专门应对 renderJson() 的

terra999

2017-11-03 16:54

@JFinal 好的,刚刚才开始接触,路慢慢。
能不能提一个小建议,提供一个检索功能。

JFinal

2017-11-03 17:06

@terra999 先用这个功能顶一顶: http://www.jfinal.com/feedback/1654

热门反馈

扫码入社