java Spring整合Freemarker的详细步骤
我的?_?l?h境
框架:springmvc
?_?l工具:springsource-tool-suite-2.9.0
版本:1.6.0_29
tomcat版本:apache-tomcat-7.0.26
前言:FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。
?而言之,Freemarker就是在Jave Web?_?l中以模板的方式在?面展示?姆??斩双@取的信息。
step1.引入jar包
Maven代?a:
<!-- Freemarker -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.20</version>
</dependency>
<!-- ui.freemarker -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>3.2.4.RELEASE</version>
</dependency>
step2.在src/main/resources/conf目?下新建Freemarker?傩晕募?freemarker.properties,此?傩晕募?定?x了Freemarker常用的??a?D?Q,代?a如下:
tag_syntax=auto_detect
template_update_delay=2
default_encoding=UTF-8
output_encoding=UTF-8
locale=zh_CN
date_format=yyyy-MM-dd
time_format=HH:mm:ss
datetime_format=yyyy-MM-dd HH:mm:ss
step3.在DispatcherServlet上下文配置文件spring-servlet.xml中添加Freemarker所需的配置,代?a如下:
<!-- 配置Freemarker?傩晕募?路?? -->
<bean id="freemarkerConfiguration" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location" value="classpath:conf/freemarker.properties" />
</bean>
<!-- 配置freeMarker模板加?d地址 -->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<!-- ??D解析器??在/WEB-INF/ftl/路?较?呙枰??D文件 -->
<property name="templateLoaderPath" value="/WEB-INF/ftl/" />
<property name="freemarkerVariables">
<map>
<entry key="xml_escape" value-ref="fmXmlEscape" />
</map>
</property>
</bean>
<bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape" />
<!-- 配置freeMarker??D解析器 -->
<bean id="freemakerViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
<!-- ?呙杪??人?有以ftl?Y尾的文件 -->
<property name="viewNames">
<array>
<value>*.ftl</value>
</array>
</property>
<property name="contentType" value="text/html; charset=UTF-8" />
<property name="exposeRequestAttributes" value="true" />
<property name="exposeSessionAttributes" value="true" />
<property name="exposeSpringMacroHelpers" value="true" />
<property name="requestContextAttribute" value="request" />
<!-- ?o??D解析器配置??先?,你可以?o之前jsp??D解析器的值配??2 -->
<property name="order" value="1" />
</bean>
step4.???controller文件和ftl文件
在src/main/java目?下新建包www.asuan.com.controller,在包下新建HelloWorldController.java,代?a如下:
package www.asuan.com.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloWorldController {
@RequestMapping("/helloWorld")
public String helloWorld(Model model) {
String word0 = "Hello ";
String word1 = "World!";
//????添加到??D???容器中
model.addAttribute("word0",word0);
model.addAttribute("word1",word1);
return "helloWorld.ftl";
}
}
在step3中配置的WEB-INF/ftl路?较滦陆?helloWorld.ftl,代?a如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>${word0}${word1}</h2>
</body>
</html>
step5.?\行?c?{?
?⒐こ滩渴鸬?tomcat并?\行,在?g?[器中?L??:http://localhost:8080/你?O置的工程名/helloWorld.htm
?\行?Y果:
上一篇:java 自定义注解的实例详解
栏 目:JAVA代码
下一篇:Java并发编程之Semaphore(信号量)详解及实例
本文标题:java Spring整合Freemarker的详细步骤
本文地址:http://www.codeinn.net/misctech/35625.html
阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机