Freemarker(三)与springMVC整

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

      需要的Jar包:freemarker-2.3.15.jar

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

配置文件:

<!-- 一定要放在viewResolver的前面,这样就先去找freemarker的 -->
 
<beanid="freemarkerConfig"
 
    class="org.springframework.web.servlet
 
         .view.freemarker.FreeMarkerConfigurer">
 
    <propertyname="templateLoaderPath" value="/WEB-INF/ftl/"/>
 
</bean>
 
<beanid="viewResolver"
 
    class="org.springframework.web.servlet
 
         .view.freemarker.FreeMarkerViewResolver">
 
    <property name="cache"value="true"/>
 
    <property name="prefix"value=""/>
 
    <property name="suffix"value=".ftl"/>
 
    <property name="contentType"value="text/html; charset=UTF-8"/>
 
</bean>
 
<bean
 
    class="org.springframework.web.servlet
 
         .view.InternalResourceViewResolver">
 
    <property name="viewClass"
 
         value="org.springframework.web.servlet.view.JstlView"/>
 
    <property name="prefix"value="/WEB-INF/jsp/" />
 
    <property name="suffix"value=".jsp" />
 
</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文件:

<html>
<head>
<metahttp-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Inserttitle here</title>
</head>
<body>
    <h1>${username}</h1>
</body>
</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文件编写区别不大,所以比较容易上手使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章