java Spring整合Freemarker的详细步骤
java Spring整合Freemarker的详细步骤
发布时间:2017-01-07 来源:查字典编辑
摘要:我的開發環境框架:springmvc開發工具:springsource-tool-suite-2.9.0版本:1.6.0_29tomcat版...

我的開發環境

框架:springmvc

開發工具: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開發中以模板的方式在頁面展示從服務端獲取的信息。

step1.引入jar包

java Spring整合Freemarker的详细步骤1

Maven代碼:

复制代码 代码如下:

<>

<dependency>

<groupId>org.freemarker</groupId>

<artifactId>freemarker</artifactId>

<version>2.3.20</version>

</dependency>

<>

<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,此屬性文件定義了Freemarker常用的編碼轉換,代碼如下:

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所需的配置,代碼如下:

复制代码 代码如下:

<>

<bean id="freemarkerConfiguration">

<property name="location" value="classpath:conf/freemarker.properties" />

</bean>

<>

<bean id="freemarkerConfig">

<>

<property name="templateLoaderPath" value="/WEB-INF/ftl/" />

<property name="freemarkerVariables">

<map>

<entry key="xml_escape" value-ref="fmXmlEscape" />

</map>

</property>

</bean>

<bean id="fmXmlEscape" />

<>

<bean id="freemakerViewResolver">

<property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />

<>

<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" />

<>

<property name="order" value="1" />

</bean>

step4.編寫controller文件和ftl文件

在src/main/java目錄下新建包www.asuan.com.controller,在包下新建HelloWorldController.java,代碼如下:

复制代码 代码如下:

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!";

//將數據添加到視圖數據容器中

model.addAttribute("word0",word0);

model.addAttribute("word1",word1);

return "helloWorld.ftl";

}

}

在step3中配置的WEB-INF/ftl路徑下新建helloWorld.ftl,代碼如下:

复制代码 代码如下:

<!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.運行與調試

將工程部署到tomcat并運行,在瀏覽器中訪問:http://localhost:8080/你設置的工程名/helloWorld.htm

運行結果:

java Spring整合Freemarker的详细步骤2

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Java学习
热门Java学习
编程开发子分类