freemarker设置模板路径问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了freemarker设置模板路径问题相关的知识,希望对你有一定的参考价值。
我在freemarkerUtil类里面设置,想要定位到panel.html,
Configuration cfg = new Configuration(); cfg.setClassForTemplateLoading(this.getClass(), "/ftl"); cfg.setDefaultEncoding("UTF-8"); Template temp; temp = cfg.getTemplate(name);
以前看到的例子是这样的,不过他是把ftl文件放到src/ftl文件夹下的,我现在是直接放在webroot下面,路径要怎么写
要么配置死,找到部署环境的对应文件看属性路径。
要么传个Request,request.getContextPath()可以拿到相对路径拼一个路径,
然后可以类似这样的写法。
参考技术A 在使用路径时默认情况只能到/src/下面,因为路径是看生成classes文件后的目录为准如果是在类里调用有两种情况
1、调用类跟被调用文件放在一个目录,可以只用绝对路径
Class.class.getClass().getResource("/").getPath()
2、使用项目目录
System.getProperty("user.dir") 路径直接指到项目目录下
楼主可以根据自己情况选择 参考技术B 这个可以直接定位到webroot目录下 我是建了一个resources包用来放ftl模板
configuration.setServletContextForTemplateLoading(request.getSession().getServletContext(), "/resources");
以上是关于freemarker设置模板路径问题的主要内容,如果未能解决你的问题,请参考以下文章