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
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 :
Pour des étapes plus détaillées pour intégrer Freemarker à Java Spring, veuillez faire attention au site Web PHP chinois !