初次接触spring mvc,想做一个小的练习项目,结果在ftl文件中引用其它的共通ftl文件时出错。

aaarticlea/png;base64,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" alt="" />

目录结构如图所示,想在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' />,问题解决。

Spring mvc 中使用ftl引用共通文件出错 FreeMarker template error: Error reading included file "/WEB-INF/ftl/common/errormessage.ftl"的更多相关文章

  1. spring mvc中使用freemark的一点心得

    参考文档: FreeMarker标签与使用 连接http://blog.csdn.net/nengyu/article/details/6829244 freemarker学习笔记--指令参考: ht ...

  2. Spring MVC中的HandlerMapping与HandlerAdapter

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  3. Http请求中Content-Type讲解以及在Spring MVC中的应用【转】

    完全引用自: http://blog.csdn.net/blueheart20/article/details/45174399#t1   此文讲得很清晰,赞! 引言: 在Http请求中,我们每天都在 ...

  4. Spring mvc中@RequestMapping 6个基本用法

    Spring mvc中@RequestMapping 6个基本用法 spring mvc中的@RequestMapping的用法.  1)最基本的,方法级别上应用,例如: Java代码 @Reques ...

  5. Http请求中Content-Type讲解以及在Spring MVC中的应用

    引言: 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值 ...

  6. Spring mvc中@RequestMapping 6个基本用法小结(转载)

    小结下spring mvc中的@RequestMapping的用法. 1)最基本的,方法级别上应用,例如: @RequestMapping(value="/departments" ...

  7. Spring MVC中处理静态资源的多种方法

    处理静态资源,我想这可能是框架搭建完成之后Web开发的”头等大事“了. 因为一个网站的显示肯定会依赖各种资源:脚本.图片等,那么问题来了,如何在页面中请求这些静态资源呢? 还记得Spring MVC中 ...

  8. Spring MVC 中的基于注解的 Controller【转】

    原文地址:http://my.oschina.net/abian/blog/128028 终于来到了基于注解的 Spring MVC 了.之前我们所讲到的 handler,需要根据 url 并通过 H ...

  9. spring mvc中的文件上传

    使用commons-fileupload上传文件所需要的架包有:commons-fileupload 和common-io两个架包支持,可以到Apache官网下砸. 在配置文件spring-mvc.x ...

随机推荐

  1. mysql存储过程详细教程

    记录mysql存储过程中的关键语法:DELIMITER //  声明语句结束符,用于区分;CREATE PROCEDURE demo_in_parameter(IN p_in int)  声明存储过程 ...

  2. Python全栈开发day6

    1. 简介 正则表达式本身是一种小型的.高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引 ...

  3. wp中TextBox在中文输入法下清空问题

    如图,在中文输入法下我希望点击“X”,然后把TextBox清空,一般来说,直接用TextBox.Text = "";或者TextBox.Text = String.Empty;就可 ...

  4. Java处理Excel整理篇

    常用Excel,每次写的时候都得现查,索性做一个整理. Java里用的时候一般用jxl这个包,相对好用. 读: File file = new File(excelFile);Workbook boo ...

  5. CC1310之使用SMARTRF STUDIO

    SMARTRF STUDIO是TI提供的射频测试软件,在调射频的时候非常非常非常好用,推荐每一个使用TI射频芯片的工程师都要掌握. 1 如何使用? 要使用SMARTRF STUDIO,硬件必须连接仿真 ...

  6. spring 的aop proxy 代理

    前些日子一朋友在需要在目标对象中进行自我调用,且需要实施相应的事务定义,且网上的一种通过BeanPostProcessor的解决方案是存在问题的.因此专门写此篇帖子分析why. 1.预备知识 aop概 ...

  7. JSP开发模式2_JSP/Servlet/JavaBean(简单注册功能)

    import java.util.regex.Matcher;import java.util.regex.Pattern; public class RegisterBean {    privat ...

  8. linux whoami命令

    whoami显示的是当前"操作用户"的用户名.

  9. .net字符串Gzip压缩和base64string转换:

    class Program { static void Main(string[] args) { //要压缩的字符串 string data = "13800138000,验证码:1234 ...

  10. 【总结】清除webbrowser cookie/session的6种方法

    下面是我测试下来的6种清除webbrowser中cookie的6种方法: //方法一:调用 wininet.dll清除cookie (推荐) SuppressWininetBehavior(); // ...