关于JFinal2.2中I18nInterceptor的问题

33号小人物 发布于 2016/03/30 20:22
阅读 610
收藏 1

@JFinal 你好,想跟你请教个问题:

public void configInterceptor(Interceptors me)
{
        me.add(new I18nInterceptor("_locale", "_res", true)); 
}
I18nInterceptor的isSwitchView来实现国际化功能,可是在应用中发现,switchView函数中的render,一直都为null
public void switchView(String locale, Controller c) {
    Render render = c.getRender();
    if (render != null) 
    {
        String view = render.getView();
        if (view != null) {
            if (view.startsWith("/"))
	        view = "/" + locale + view;
	    else
            view = locale + "/" + view;
        render.setView(view);
        }
    }
}

导致到没有办法可以自动切换到相应locale目录的view。请问是否在逻辑上出现了问题?谢谢~





加载中
1
33号小人物
33号小人物

引用来自“JFinal”的评论

    这的确是个问题,解决的办法极度简单,创建一个 MyI18nInter 继承一下 I18nInterceptor,然后覆盖掉父 intercept 方法,将 inv.invoke() 这一行代码挪到 if (isSwitchView)  这一行之前即可,感谢反馈,jfinal 2.3 会改进这个地方。

   搞定后回来分享一下啊

    

http://my.oschina.net/u/1793377/blog/654594

以上的是我的应用分享哈~

JFinal
JFinal
感谢分享,赞一个
0
JFinal
JFinal

    这的确是个问题,解决的办法极度简单,创建一个 MyI18nInter 继承一下 I18nInterceptor,然后覆盖掉父 intercept 方法,将 inv.invoke() 这一行代码挪到 if (isSwitchView)  这一行之前即可,感谢反馈,jfinal 2.3 会改进这个地方。

   搞定后回来分享一下啊

    

返回顶部
顶部