Spring mvc 中使用ftl引用共通文件出错 FreeMarker template error: Error reading included file "/WEB-INF/ftl/common/errormessage.ftl"
2015-10-11 13:02
796 查看
初次接触spring mvc,想做一个小的练习项目,结果在ftl文件中引用其它的共通ftl文件时出错。
目录结构如图所示,想在login.ftl中引用common下的errormessage.ftl
<#include '/WEB-INF/ftl/common/errormessage.ftl' />
结果画面报错:
FreeMarker template error: Error reading included file "/WEB-INF/ftl/common/errormessage.ftl": Template "/WEB-INF/ftl/common/errormessage.ftl" not found. The failing instruction (FTL stack trace): ---------- ==> #include "/WEB-INF/ftl/common/errorme... [in template "home/login.ftl" at line 26, column 13] ---------- Java stack trace (for programmers): ---------- freemarker.core._MiscTemplateException: [... Exception message was already printed; see it above ...] at freemarker.core.Include.accept(Include.java:168) at
…………
怀疑是路径问题或是拼写错误,反复修改,病急乱投医,甚至将errormessage.ftl拷贝到login.ftl所在的目录下,用 'errormessage.ftl','/errormessage.ftl','./errormessage.ftl'等不断尝试,不得解。
最后到处检查各种配置文件,发现在spring-mvc.xml文件中配置视图解析器时,指定过模板的加载路径:
猜想在ftl中引用其它文件时也会受此影响,于是将<#include '/WEB-INF/ftl/common/errormessage.ftl' /> 修改为<#include 'common/errormessage.ftl' />,问题解决。
目录结构如图所示,想在login.ftl中引用common下的errormessage.ftl
<#include '/WEB-INF/ftl/common/errormessage.ftl' />
结果画面报错:
FreeMarker template error: Error reading included file "/WEB-INF/ftl/common/errormessage.ftl": Template "/WEB-INF/ftl/common/errormessage.ftl" not found. The failing instruction (FTL stack trace): ---------- ==> #include "/WEB-INF/ftl/common/errorme... [in template "home/login.ftl" at line 26, column 13] ---------- Java stack trace (for programmers): ---------- freemarker.core._MiscTemplateException: [... Exception message was already printed; see it above ...] at freemarker.core.Include.accept(Include.java:168) at
…………
怀疑是路径问题或是拼写错误,反复修改,病急乱投医,甚至将errormessage.ftl拷贝到login.ftl所在的目录下,用 'errormessage.ftl','/errormessage.ftl','./errormessage.ftl'等不断尝试,不得解。
最后到处检查各种配置文件,发现在spring-mvc.xml文件中配置视图解析器时,指定过模板的加载路径:
<!-- 配置freeMarker的模板路径 --> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="configLocation" value="classpath:freemarker.properties" /> <property name="templateLoaderPath" value="/WEB-INF/ftl/" /> <property name="freemarkerVariables"> <map> <entry key="xml_escape" value-ref="fmXmlEscape" /> </map> </property> </bean>
猜想在ftl中引用其它文件时也会受此影响,于是将<#include '/WEB-INF/ftl/common/errormessage.ftl' /> 修改为<#include 'common/errormessage.ftl' />,问题解决。
相关文章推荐
- mac下配置JAVA_HOME
- Java异常处理中try,catch,finally的各种组合用法
- Java基础知识强化之IO流笔记44:IO流练习之 复制图片的 4 种方式案例
- java中Math类与Random类的用法
- Java基础知识强化之IO流笔记43:IO流练习之 复制文本文件的 5 种方式案例
- Java 加解密技术系列之 SHA
- Java 加解密技术系列之 BASE64
- Eclipse正在使用Ant扑灭Android数据包错误的解决方案 – Perhaps JAVA_HOME does not point to the JDK
- Java加密解密技术系列之MD5
- java IO流学习总结
- 《编程简介(Java) ·10.3递归思想》
- Java语法糖2:自动装箱和自动拆箱
- eclipse中文乱码修改新方法,在修改了所有的utf-8都没有用就这样修改
- java 枚举
- Hadoop学问Eclipse构建Hadoop工程
- Java继承后子父类的初始化化问题
- java 格式判断
- JavaEE之JDBC编程[详解]
- Git使用教程3:MyEclipse+Egit+GitHub实现代码托管 【上】
- SVN太旧 svn: Working copy 'E:\JAVA\Workspaces\uhr' is too old (format 10,created by Subversion 1.6)