Java——Spring MVC整合Freemarker

java

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

回到顶部