前兩篇博客介紹了freemaker是什麼以及簡單的語法規則,下面我們通過實現一個demo來看在實際應用中如何使用freemaker,本篇博客主要介紹freemaker與spring的整合。
需要的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文件編寫區別不大,所以比較容易上手使用。