Java——Spring MVC整合Freemarker
SpringMVC默认使用JSP作为模板引擎,那么如何在SpringMVC中支持对Freemarker的支持了?
主要分为4步:
(1)pox.xml中引入依赖
<dependency><groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.2.8.RELEASE</version>
</dependency>
(2)启动Freemarker模板引擎
<bean id="ViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"><!--设置响应输出,并解决中文乱码-->
<property name="contentType" value="text/html;charset=utf-8"/>
<!--指定Freemarker模板文件扩展名-->
<property name="suffix" value=".ftl"/>
</bean>
(3)配置Freemarker参数
<!--配置Freemarker参数--><bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<!--设置模板保存的目录-->
<property name="templateLoaderPath" value="/WEB-INF/ftl"/>
<!--其他模板引擎设置-->
<property name="freemarkerSettings">
<props>
<!--设置Freemarker脚本与数据渲染时使用的字符集-->
<prop key="defaultEncoding">UTF-8</prop>
</props>
</property>
</bean>
(4)简单示例
@Controller@RequestMapping("/fm")
public class FreemarkerController {
@GetMapping("/t")
public ModelAndView showTest(){
ModelAndView mav = new ModelAndView("/test"); //因为配置了扩展名,所以不需要写完整名
UserInfo userInfo = new UserInfo();
userInfo.setName("kebi");
mav.addObject("u",userInfo);
return mav;
}
}
创建文件目录:
编辑test.ftl文件:
<h1>${u.name}</h1>
注意在运行前需要将新的依赖包添加到Tomcat里面:
访问:
以上是 Java——Spring MVC整合Freemarker 的全部内容, 来源链接: utcz.com/z/392082.html