欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

java Spring整合Freemarker的详细步骤

时间:2020-12-23 11:26:12|栏目:JAVA代码|点击:

我的?_?l?h境
框架:springmvc
?_?l工具: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?_?l中以模板的方式在?面展示?姆??斩双@取的信息。

step1.引入jar包

Maven代?a

复制代码 代码如下:

<!-- 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,此?傩晕募?定?x了Freemarker常用的??a?D?Q,代?a如下:

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所需的配置,代?a如下:
复制代码 代码如下:

<!-- 配置Freemarker?傩晕募?路?? -->
<bean id="freemarkerConfiguration"        class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="location" value="classpath:conf/freemarker.properties" />
</bean>
<!-- 配置freeMarker模板加?d地址 -->
<bean id="freemarkerConfig"        class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <!-- ??D解析器??在/WEB-INF/ftl/路?较?呙枰??D文件 -->
    <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??D解析器 -->
<bean id="freemakerViewResolver"        class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="viewClass"        value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
    <!-- ?呙杪??人?有以ftl?Y尾的文件 -->
    <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" />
    <!-- ?o??D解析器配置??先?,你可以?o之前jsp??D解析器的值配??2 -->
    <property name="order" value="1" />
</bean>


step4.???controller文件和ftl文件
 在src/main/java目?下新建包www.asuan.com.controller,在包下新建HelloWorldController.java,代?a如下:
复制代码 代码如下:

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!";
       //????添加到??D???容器中
       model.addAttribute("word0",word0);
       model.addAttribute("word1",word1);
        return "helloWorld.ftl";
    }
}

在step3中配置的WEB-INF/ftl路?较滦陆?helloWorld.ftl,代?a如下:
复制代码 代码如下:

<!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.?\行?c?{?
?⒐こ滩渴鸬?tomcat并?\行,在?g?[器中?L??:http://localhost:8080/你?O置的工程名/helloWorld.htm
?\行?Y果:

上一篇:java 自定义注解的实例详解

栏    目:JAVA代码

下一篇:Java并发编程之Semaphore(信号量)详解及实例

本文标题:java Spring整合Freemarker的详细步骤

本文地址:http://www.codeinn.net/misctech/35625.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有