freemarker<三>

前两篇博客介绍了freemaker是什么以及简单的语法规则,下面我们通过实现一个demo来看在实际应用中如何使用freemaker,本篇博客主要介绍freemakerspring的整合。

      需要的Jar包:freemarker-2.3.15.jar

     在已搭建好的spring的配置文件的基础上添加以下代码:

配置文件:

 1 <!-- 一定要放在viewResolver的前面,这样就先去找freemarker的 -->
 2  
 3 <beanid="freemarkerConfig"
 4  
 5     class="org.springframework.web.servlet
 6  
 7          .view.freemarker.FreeMarkerConfigurer">
 8  
 9     <propertyname="templateLoaderPath" value="/WEB-INF/ftl/"/>
10  
11 </bean>
12  
13 <beanid="viewResolver"
14  
15     class="org.springframework.web.servlet
16  
17          .view.freemarker.FreeMarkerViewResolver">
18  
19     <property name="cache"value="true"/>
20  
21     <property name="prefix"value=""/>
22  
23     <property name="suffix"value=".ftl"/>
24  
25     <property name="contentType"value="text/html; charset=UTF-8"/>
26  
27 </bean>
28  
29 <bean
30  
31     class="org.springframework.web.servlet
32  
33          .view.InternalResourceViewResolver">
34  
35     <property name="viewClass"
36  
37          value="org.springframework.web.servlet.view.JstlView"/>
38  
39     <property name="prefix"value="/WEB-INF/jsp/" />
40  
41     <property name="suffix"value=".jsp" />
42  
43 </bean>

java文件:

package org.fre.controller;
importorg.springframework.stereotype.Controller;
importorg.springframework.ui.Model;
importorg.springframework.web.bind.annotation.RequestMapping;
 
@Controller
 
public classHelloController {
 
    @RequestMapping("/hello")
 
    public String hello(Model model) {
 
       model.addAttribute("username", "张三");
 
        return "hello";
 
    }
 
    @RequestMapping("/world")
 
    public String helloworld(Model model) {
 
       model.addAttribute("username","李四");
 
        return "world";
 
    }
 
}

ftl文件:

1 <html>
2 <head>
3 <metahttp-equiv="Content-Type" content="text/html;charset=UTF-8">
4 <title>Inserttitle here</title>
5 </head>
6 <body>
7     <h1>${username}</h1>
8 </body>
9 </html>

jsp文件:

<%@ pagelanguage="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE htmlPUBLIC "-//W3C//DTD HTML 4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <metahttp-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Insert titlehere</title>
    </head>
    <body>
        ${username }
    </body>
</html>

访问时一个显示张三,一个显示李四。至此,整合成功了。通过对比ftl文件和jsp文件,发现大同小异,ftl文件编写与jsp文件编写区别不大,所以比较容易上手使用。

原文地址:https://www.cnblogs.com/pingxin/p/p00048.html