关于JFinal结合freemarker获取根路径

Just_me 发布于 2013/12/11 16:18
阅读 2K+
收藏 1
PathKit.getWebRootPath() 获取到的是绝对的文件路径,当我在页面加载css或者js时无法加载,因为freemarker模板用的是html,所以<%= request.getContextPath() %>无法使用, 请问JFinal里面或者freemarker里面有比较好的获取根路径的方法吗?
加载中
1
缪斯的情人
缪斯的情人

    @Override
    public void configHandler(Handlers me) {
        me.add(new ContextPathHandler("base"));


    }

<base>${base}</base>

Just_me
Just_me
谢谢解答,刚开始用JFinal,不熟悉的地方还很多啊
dreamers
dreamers
为什么有这么多人以这种方式使用的?直接设置成freemarker的全局变量不是更好的方式?而且这种东西是一次写,无数次读的。呵呵。
1
dreamers
dreamers
建议这样子写:FreeMarkerRender.getConfiguration().setSharedVariable("basePath", JFinal.me().getContextPath());
0
缪斯的情人
缪斯的情人

引用来自“ljy520yzy”的答案

建议这样子写:FreeMarkerRender.getConfiguration().setSharedVariable("basePath", JFinal.me().getContextPath());

这个只是取到了相对路径,建议使用绝对路径

String basepath = request.getScheme() + "://" + request.getServerName()

               +":" + request.getServerPort() + request.getContextPath();
返回顶部
顶部