一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - java Spring整合Freemarker的詳細(xì)步驟

java Spring整合Freemarker的詳細(xì)步驟

2019-10-20 23:13java技術(shù)網(wǎng) Java教程

本文對Spring整合Freemarker步驟做了詳細(xì)的說明,按步驟操作一定可以整合通過,這里提供給大家做參考

我的開發(fā)環(huán)境
框架:springmvc
開發(fā)工具:springsource-tool-suite-2.9.0
版本:1.6.0_29
tomcat版本:apache-tomcat-7.0.26
前言:FreeMarker是一個(gè)用Java語言編寫的模板引擎,它基于模板來生成文本輸出。FreeMarker與Web容器無關(guān),即在Web運(yùn)行時(shí),它并不知道Servlet或HTTP。它不僅可以用作表現(xiàn)層的實(shí)現(xiàn)技術(shù),而且還可以用于生成XML,JSP或Java 等。
簡而言之,F(xiàn)reemarker就是在Jave Web開發(fā)中以模板的方式在頁面展示從服務(wù)端獲取的信息。

step1.引入jar包
java Spring整合Freemarker的詳細(xì)步驟
Maven代碼

復(fù)制代碼代碼如下:


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

 

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

復(fù)制代碼代碼如下:

<!-- 配置Freemarker屬性文件路徑 -->
<bean id="freemarkerConfiguration"        class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="location" value="classpath:conf/freemarker.properties" />
</bean>
<!-- 配置freeMarker模板加載地址 -->
<bean id="freemarkerConfig"        class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <!-- 視圖解析器會(huì)在/WEB-INF/ftl/路徑下掃描視圖文件 -->
    <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視圖解析器 -->
<bean id="freemakerViewResolver"        class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="viewClass"        value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
    <!-- 掃描路徑內(nèi)所有以ftl結(jié)尾的文件 -->
    <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" />
    <!-- 給視圖解析器配置優(yōu)先級,你可以給之前jsp視圖解析器的值配為2 -->
    <property name="order" value="1" />
</bean>



step4.編寫controller文件和ftl文件
 在src/main/java目錄下新建包www.asuan.com.controller,在包下新建HelloWorldController.java,代碼如下:

復(fù)制代碼代碼如下:

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!";
       //將數(shù)據(jù)添加到視圖數(shù)據(jù)容器中
       model.addAttribute("word0",word0);
       model.addAttribute("word1",word1);
        return "helloWorld.ftl";
    }
}


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

復(fù)制代碼代碼如下:

<!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.運(yùn)行與調(diào)試
將工程部署到tomcat并運(yùn)行,在瀏覽器中訪問:http://localhost:8080/你設(shè)置的工程名/helloWorld.htm
運(yùn)行結(jié)果:
java Spring整合Freemarker的詳細(xì)步驟

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本高清无吗 | 精品国产免费第一区二区三区日韩 | 亚洲欧美专区精品久久 | 高清视频一区二区三区 | 99久久er这里只有精品17 | 国产精品四虎在线观看免费 | 国产东北3p真实在线456视频 | xxxx成人| 91热爆| 亚洲天堂影院 | xxxxxx性受 | 外国黄色软件 | 色综合图片 | 亚洲视频99| 欧美成人aaaa免费高清 | 亚洲视频999 | 国产亚洲玖玖玖在线观看 | 亚洲精品国产精品国自产观看 | 国产精品视频一区二区三区w | 动漫美女人物被黄漫在线看 | 湖南美女被黑人4p到惨叫 | 天堂资源wwww在线看 | 人妖欧美一区二区三区四区 | 91国语精品自产拍在线观看一 | 亚洲精品m在线观看 | 543精品视频 | 国产精品视频播放 | 女性性色生活片免费观看 | 草莓视频旧版本 | 成人午夜影院在线观看 | 午夜一区二区免费视频 | 午夜免费体验30分 | 97色伦图片7778久久 | 高清在线观看mv的网址免费 | 成年人在线观看视频 | 国产在线98福利播放视频免费 | 高h扶她文肉 | 亚洲国产一区二区a毛片 | 色悠久久久久综合欧美99 | 男女肉粗暴进来下面好紧 | 久久精品在现线观看免费15 |