Heim  >  Artikel  >  Java  >  Detaillierte Schritte zur Integration von Freemarker mit Java Spring

Detaillierte Schritte zur Integration von Freemarker mit Java Spring

高洛峰
高洛峰Original
2017-01-05 13:57:581466Durchsuche

Meine Entwicklungsumgebung
Framework: springmvc
Entwicklungstool: springsource-tool-suite-2.9.0
Version: 1.6.0_29
Tomcat-Version: Apache-tomcat-7.0.26
Vorwort: FreeMarker ist eine in der Java-Sprache geschriebene Template-Engine, die Textausgaben basierend auf Templates generiert. FreeMarker ist Web-Container-agnostisch, d. h. es kennt weder Servlets noch HTTP, wenn es im Web ausgeführt wird. Es kann nicht nur als Implementierungstechnologie für die Präsentationsschicht verwendet werden, sondern auch zum Generieren von XML, JSP oder Java usw.
Kurz gesagt zeigt Freemarker die vom Server erhaltenen Informationen auf der Seite in Form einer Vorlage in der Java-Webentwicklung an.

Schritt 1. Stellen Sie das JAR-Paket vor

java Spring整合Freemarker的详细步骤

Maven-Code:

<!-- 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常用的編碼轉換,代碼如下:
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

Schritt 3. In der DispatcherServlet-Kontextkonfigurationsdatei spring-servlet .xml Fügen Sie die für Freemarker erforderliche Konfiguration hinzu. Der Code lautet wie folgt:

<!-- 配置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">
    <!-- 視圖解析器會在/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" />
    <!-- 掃描路徑內所有以ftl結尾的文件 -->
    <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" />
    <!-- 給視圖解析器配置優先級,你可以給之前jsp視圖解析器的值配為2 -->
    <property name="order" value="1" />
</bean>

Schritt 4. Schreiben Sie die Controller-Datei und die FTL-Datei.
Erstellen Sie ein neues Paket www.asuan.com.controller im src /main/java-Verzeichnis, in Erstellen Sie eine neue HelloWorldController.java unter dem Paket, der Code lautet wie folgt:

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

Erstellen Sie eine neue helloWorld.ftl unter dem in Schritt 3 konfigurierten WEB-INF/ftl-Pfad. Der Code lautet wie folgt:

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

Schritt 5. Stellen Sie das Projekt auf Tomcat bereit und führen Sie es im Browser aus: http://localhost:8080/der von Ihnen festgelegte Projektname /helloWorld.htm
Laufendes Ergebnis:

java Spring整合Freemarker的详细步骤

Detailliertere Schritte zur Integration von Freemarker mit Java Spring finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn