转自:http://angelbill3.iteye.com/blog/1980904

在springMVC的项目中,加入freemarker

1、首先导入springMVC-webmvc所需的JAR包。 
(若用maven的话,如下)

  1. <dependency>
  2. <groupId>org.springfremework</groupId>
  3. <artifactId>spring-webmvc<artifactId>
  4. <version>3.2.3.RELEASE</version>
  5. </dependency>

2、配置web.xml(启动mvc框架)

  1. <servlet>
  2. <servlet-name>spring</servlet-name>
  3. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  4. <load-on-startup>1</load-on-startup>
  5. </servlet>
  6. <servlet-mapping>
  7. <servlet-name>spring</servlet-name>
  8. <url-pattern>*.htm</url-pattern>
  9. </servlet-mapping>

相应的xml配置命令规则为:【servlet名字】-servlet.xml,(如本文为:spring-servlet.xml),默认目录和web.xml放一起,即WEB-INF目录下。

3、配置spring-servlet.xml(****重要****) 
在spring-servlet文件中加入:(annotation以及包扫描范围已略。) 
关于freemarker模版的配置,可以直接在xml里配,也可以用properties文件配。

  1. <!-- 设置freeMarker的配置文件路径 -->
  2. <bean id="freemarkerConfiguration" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
  3. <property name="location" value="classpath:conf/freemarker.properties"/>
  4. </bean>
  5. <!-- 配置freeMarker的模板路径 -->
  6. <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
  7. <property name="freemarkerSettings" ref="freemarkerConfiguration"/>
  8. <property name="templateLoaderPath">
  9. <value>/WEB-INF/ftl/</value>
  10. </property>
  11. </bean>
  12. <!-- 配置freeMarker视图解析器 -->
  13. <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
  14. <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/>
  15. <property name="contentType" value="text/html; charset=utf-8"/>
  16. <property name="cache" value="true"/>
  17. </bean>

4、新建文件:freemarker.properties,放conf目录下

  1. #设置标签类型:square_bracket:[]     auto_detect:[]<>
  2. tag_syntax=auto_detect
  3. #模版缓存时间,单位:秒
  4. template_update_delay=0
  5. default_encoding=UTF-8
  6. output_encoding=UTF-8
  7. locale=zh_CN
  8. #设置数字格式 ,防止出现 000.00
  9. number_format=\#
  10. #变量为空时,不会报错
  11. classic_compatible=true
  12. #这个表示每个freemarker的视图页面都会自动引入这个ftl文件。里面定议的就是一些宏,如text文本框,各种form元素
  13. #auto_import="/WEB-INF/templates/index.ftl" as do

这个模版属性是比较基本的定义,其中比较重要的是最后一条:auto_import="/WEB-INF/templates/index.ftl" as do,这个表示每个freemarker的视图页面都会自动引入这个ftl文件。里面定议的就是一些宏,如text文本框,各种form元素(本文没作深入研究。)

5、后台新建测试Control类:FreemarkerController

  1. import org.springframework.stereotype.Controller;
  2. import org.springframework.ui.ModelMap;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. @Controller
  5. public class FreemarkerController {
  6. @RequestMapping("/hi")
  7. public String sayHello(ModelMap map){
  8. System.out.println("say hi ……");
  9. map.put("name", "kimi");
  10. return "/hi.ftl";
  11. }
  12. }
  13. 6、前台新建测试页:hi.ftl(放WEB-INF/ftl目录下)
  14. <pre class="java" name="code"><html>
  15. <body>
  16. <h1>holle world ${name}</h1><br/>
  17. 1 + 1 = 3? ${(1 != 1)?string("yes", "no")}
  18. </body>
  19. </html>
  20. </pre>
  21. <br>

7、启动项目。 
发现报错:Caused by: java.lang.NoClassDefFoundError: org/springframework/ui/freemarker/FreeMarkerConfigurationFactory

少了jar包,再导入spring-context-support-3.2.3.RELEASE包即可。 
maven:

  1. <dependency>
  2. <groupId>org.springframework</groupId>
  3. <artifactId>spring-context-support</artifactId>
  4. <version>3.2.3.RELEASE</version>
  5. </dependency>

再次启动,没有错,访问项目后,网页内容如下: 

------------------------------------------ 
参考资料: 
http://www.360doc.com/content/12/0809/13/4280915_229198282.shtml

springMVC+freemarker整合的更多相关文章

  1. sonne_game网站开发03 spring-mvc+freemarker整合

    今天的任务就是在spring+mybatis+springmvc的基础上,将freemarker整合进来. freemarker是什么? freemarker是一种模板引擎.它的目的是基于模板和数据, ...

  2. spring-mvc+freemarker整合(sonne_game网站开发03)

    今天的任务就是在spring+mybatis+springmvc的基础上,将freemarker整合进来. freemarker是什么? freemarker是一种模板引擎.它的目的是基于模板和数据, ...

  3. SpringMVC+spring-security+sitemesh+hibernate+freemarker整合-转

    http://www.oschina.net/code/snippet_170632_46774 代码分享 当前位置: 代码分享 » Java  » Web编程 搜 索   SpringMVC+spr ...

  4. SpringMVC和Freemarker整合,带自定义标签的使用方法

    SpringMVC和Freemarker整合,带自定义标签的使用方法. [参考来源:http://www.360doc.com/content/14/1225/14/1007797_435663342 ...

  5. springMVC与freemarker整合

    准备好的环境:Maven工程整合好了ssm,即spring+springMVC+mybatis.接下来准备将springMVC与freemarker整合,以html文件为模板. 一,加入freemar ...

  6. freemarker学习 (servlet + freemarker -> Struts2+freemarker -> springMVC+freemarker)

    什么是freemarker? freemarker类似于jsp,但不是jsp!怎么说呢?freemarker文件后缀是.ftl,它不像jsp本质是servlet,它将构建模板.解析模板.使用模板分离开 ...

  7. 【FreeMarker】Spring MVC与FreeMarker整合(二)

    前一篇介绍了FreeMarker的基本使用,本例介绍Spring MVC与FreeMarker整合 不熟悉项目搭建,可参考 [FreeMarker]FreeMarker快速入门(一) 整合 1.新建S ...

  8. spring源码分析之freemarker整合

    FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一款程 ...

  9. Spring+springmvc+Mybatis整合案例 annotation版(myeclipse)详细版

    Spring+springmvc+Mybatis整合案例 Version:annotation版 文档结构图: 从底层开始做起: 01.配置web.xml文件 <?xml version=&qu ...

随机推荐

  1. github 配置ssh

    https://www.cnblogs.com/superGG1990/p/6844952.html

  2. 51单片机PC程序计数器

    PC是一个16位的计数器.用于存放和指示下一条要执行的指令的地址.寻址范围达64KB.PC有自动加1功能,以实现程序的顺序执行.PC没有地址,是不可寻址的,无法用指令对它进行读写.但在执行转移.调用. ...

  3. Shell及其操作环境

    来源: 鸟哥的Linux私房菜第十章.認識與學習BASH Shell是什么?1分钟理解Shell的概念! ssh在本地调用远程主机上的命令,不登录远程主机shell 一.Shell Shell 是一个 ...

  4. NORDIC内核ARM蓝牙芯片NRF51802/NRF51822

    Nordic  nRF51 系列的IC 和协议堆栈对内存大小.封装类型.接口.周边产品及无线连接提供更多选择. 关于 nRF51 系列 多协议 2.4GHz 射频收发器拥有高性能.超低功耗以及灵活性等 ...

  5. youlexuan父类配置

    <!-- 集中定义依赖版本号 -->    <properties>        <junit.version>4.12</junit.version> ...

  6. delphi中SendMessage使用说明

    SendMessage基础知识 函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.而函数PostMessage不同,将一个消息寄送到一个线 ...

  7. delphi 判断WIN8 , WIN8.1 , WIN10 系统版本

    今天测试了WIN8, WIN8.1, WIN10 系统下GetVersionEx 函数,居然取出来的版本都是6.2 . 于是网上查找各种获取内核版本号的方法, 终于找到几种有用的方法, 记录下来以作备 ...

  8. CDN技术之--全局负载均衡(GSLB)

    负载均衡就是智能调度全局负载均衡(GSLB)的负载均衡主要是在多个节点之间进行均衡,其结果可能直接终结负载均衡过程,也可能将用户访问交付下一层次的(区域或本地)负载均衡系统进行处理.GSLB最通用的是 ...

  9. Spring MVC rest接收json中文格式数据显示乱码

    1.解决方法其中之一 在web.xml下添加配置: <!-- 编码配置 --> <filter> <filter-name>CharacterEncodingFil ...

  10. 【Tomcat】使用Tomcat部署Spring Boot项目生成的jar包

    介绍 简单来说,Tomcat是一个免费的,用于Java Web应用以及其它Web应用的一个Web服务器.(简单地概括一下,可能有误) 下载与安装 本文章目标是把Spring Boot Web项目生成的 ...