Maison  >  Article  >  Java  >  Étapes détaillées pour intégrer Freemarker avec Java Spring

Étapes détaillées pour intégrer Freemarker avec Java Spring

高洛峰
高洛峰original
2017-01-05 13:57:581465parcourir

Mon environnement de développement
Framework : springmvc
Outil de développement : springsource-tool-suite-2.9.0
Version : 1.6.0_29
version Tomcat : apache-tomcat-7.0.26
Avant-propos : FreeMarker est un moteur de modèles écrit en langage Java, qui génère une sortie texte basée sur des modèles. FreeMarker est indépendant des conteneurs Web, c'est-à-dire qu'il ne connaît pas les servlets ou HTTP lorsqu'il est exécuté sur le Web. Il peut non seulement être utilisé comme technologie d'implémentation pour la couche de présentation, mais peut également être utilisé pour générer du XML, JSP ou Java, etc.
En bref, Freemarker affiche les informations obtenues du serveur sur la page sous la forme d'un modèle en développement Web Java.

étape 1. Présentez le package jar

java Spring整合Freemarker的详细步骤

Code Maven :

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

étape 3 dans le fichier de configuration du contexte DispatcherServlet spring-servlet. .xml Ajoutez la configuration requise pour Freemarker, le code est le suivant :

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

étape 4. Écrivez le fichier contrôleur et le fichier ftl
Créez un nouveau package www.asuan.com.controller dans le src. /main/java, dans Créer un nouveau HelloWorldController.java sous le package, le code est le suivant :

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

Créez un nouveau helloWorld.ftl sous le chemin WEB-INF/ftl configuré à l'étape 3, le code est le suivant :

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

étape 5. Exécution et débogage
Déployez le projet sur Tomcat et exécutez-le, visitez dans le navigateur : http://localhost:8080/project name you set/ helloWorld.htm
Résultat d'exécution :

java Spring整合Freemarker的详细步骤

Pour des étapes plus détaillées pour intégrer Freemarker à Java Spring, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn