【Freemarker】SpringMVC使用Freemarker作为视图解析
来源:互联网 发布:laravel 获得sql语句 编辑:程序博客网 时间:2024/05/20 20:57
What is Freemarker?
FreeMarker是一个基于Java的模板引擎,最初专注于使用MVC软件架构生成动态网页。但是,它是一个通用的模板引擎,不依赖于servlets或HTTP或HTML,因此它通常用于生成源代码,配置文件或电子邮件。( from wikipedia.org)
官方网站:http://freemarker.org/
How to use Freemarker?
本文中会介绍 Freemarker 在 JavaWeb 中作为视图展示的用法(类似于JSP的功能),后面有机会可以介绍一下使用这种模板引擎技术做代码生成工具或是在电子邮件功能上的使用。
正文
最开始我们准备好我们的第一个 Freemarker 模板 在WEB-INF 下建 templates 文件夹,然后创建 test.ftl 模板
<html> <head> <title>freemarker Test</title> </head> <body> <h1>Hello,${name}</h1> </body> </html>
接着引入依赖
<properties> <spring.version>4.3.6.RELEASE</spring.version> </properties> <dependencies> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> </dependencies>
配置 web.xml (添加SpringMVC过滤器 拦截所有请求,略)
然后在 Spring 配置文件中添加 Freemarker视图解析器
<!-- FreeMarker模板路径 --> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="freemarkerSettings" ref="freemarkerConfiguration" /> <property name="templateLoaderPath"> <value>/WEB-INF/templates</value> </property> <property name="freemarkerVariables"> <map> <entry key="xml_escape" value-ref="fmXmlEscape" /> </map> </property> <property name="defaultEncoding"> <value>utf-8</value> </property> </bean> <bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape" /> <!-- 配置freeMarker视图解析器 --> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" /> <property name="contentType" value="text/html; charset=utf-8" /> <property name="suffix" value=".ftl" /> <property name="order" value="0" /> </bean>
最后我们写一个视图控制器用来访问 test.ftl
@Controller@RequestMapping(value="hello")public class FirstViewController { @RequestMapping(value = "test.html", method = RequestMethod.GET) public String index(String name,Model model) { model.addAttribute("message", "hello"); model.addAttribute("name", name); return "/test"; }}
最后
不要问我 Freemarker 和 JSP 那个更好,那个更优秀。
阅读全文
2 0
- 【Freemarker】SpringMVC使用Freemarker作为视图解析
- SpringMVC+freemarker 视图解析最小实现
- springmvc配置freemarker视图
- FreeMarker作为Struts2的视图
- SpringMvc的视图解析器与核心控制器配置以及使用Freemarker模板的配置
- 使用FreeMarker模板引擎作为Struts2的视图技术
- SpringMVC + freemarker使用
- springmvc使用freemarker
- SpringMVC+FreeMarker的使用
- FreeMarker视图解析器配置
- SpringMVC搭配Freemarker实例解析
- 有两种方法可以利用Freemarker 作为视图
- SpringMVC整合FreeMarker产生模板视图
- SpringMVC + Freemarker 模版的使用
- SpringMVC+Maven+FreeMarker+MyBatis 使用
- springMVC整合freemarker的使用
- SpringMVC+Freemarker
- SpringMVC与Freemarker的集成以及多视图解析器配置
- keil复制汉字乱码解决
- 最全PyCharm 教程
- 62. Unique Paths(排列组合法&动态规划法)
- 使用自定义MVC实现登陆
- 互联网服务架构设计漫谈(一)—设计考量点总览
- 【Freemarker】SpringMVC使用Freemarker作为视图解析
- 自定义mvc2
- Chrome浏览器
- 路由器配置
- Java集合框架
- NSDate、NSCalendar
- codeforces 689D ST表+二分 模板
- 一个开始
- MAVEN的HelloWorld实现过程