JFinal 2.0 使用 FreeMarker 中 renderFreeMarker 异常
Config 配置
//配置常量
@Override
public void configConstant(Constants constants) {
//设置开发者模式
constants.setDevMode(true);
//设置url中参数分隔符
constants.setUrlParaSeparator("&");
//设置视图渲染 默认就是这个
//constants.setViewType(ViewType.FREE_MARKER);
//constants.setFreeMarkerViewExtension("ftl");
//constants.setBaseViewPath("/WEB-INF/templates");
}
//配置路由
@Override
public void configRoute(Routes routes) {
routes.add("/hello", HelloController.class);
}
Controller
public void methodName(){ User user= User.dao.findById(1); List<User> users=new ArrayList<>(); users.add(user); setAttr("userList",users); renderFreeMarker("text.html"); }
访问 http://localhost/hello/methodName
后台异常
com.jfinal.render.RenderException: freemarker.template.TemplateNotFoundException: Template not found for name "/hello/text.html".
The name was interpreted by this TemplateLoader: WebappTemplateLoader(subdirPath="/", servletContext={contextPath="", displayName="Archetype Created Web Application"}).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
谢谢回复
jfinal 路由规则已经是最简单的了,只有四种,一定要先看文档:
https://jfinal.com/doc/2-3
回复
根据实际情况设置 模板完整路径= 模板加载目录+视图前缀+视图名+视图后缀
回复
没那么多注意事项
回复
@湖水没了 : 谢谢你
回复
@湖水没了 :上图中webapp 添加了 hello 访问localhost/hello/text.html 可以访问到 但是已访问 localhost/hello/methodName 后台还是报异常 找不到text.html模板 根据文档中 我的 finalView = baseViewPath + viewPath + view 应该就是/hello/test.html
/hello/text.html 这个文件找不到,你的模板加载路径设置的 应用目录跟路径
`renderFreeMarker("text.html");`这个不应该是`renderFreeMarker("text.ftl");`吗?
你的页面文件后缀不对