Spring和freemarker的结合使用
Spring中freemarker的配置
<bean id="viewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
<property name="contentType" value="text/html; charset=utf-8" />
</bean>
<bean id="freeMarkerConfig"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<!-- 模板根目录 -->
<property name="templateLoaderPaths" value="/WEB-INF/views/" />
<!-- 编码格式 -->
<property name="defaultEncoding" value="utf-8" />
</bean>
上面是spring中freemarker的简单配置,可以看到,我们只需要配置一个view解析器以及freemarker配置的bean就可以使用freemarker了。
想要更加详细的使用freemarker功能,只需要在freemarkerConfig中进行配置就可以实现功能。
javaBean中使用freemarker
@RequestMapping("/index")
public String index(ModelMap modelMap){
Map<String,String> root = new HashMap<String,String>();
root.put("user", "XXX");
modelMap.put("root", root);
return "hello.html";
}
上面只是一个简单的实例。我们可以看到,只需要将freemarker需要的属性放入到modelMap(也可以放入到ModelAndView中)就可以在页面上直接使用配置的属性了。
模板页面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
this is hello page.
Welcome ${root.user}
</body>
</html>
从上面的例子涨可以看到,我们只是使用了简单的html5页面,然后动态的使用了前面配置的属性值,就可以在访问中看到动态的效果。