您的位置:首页 > 编程语言 > Java开发

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文件中配置视图解析器时,指定过模板的加载路径:



<!-- 配置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' />,问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: