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里面:

 

 

 访问:

 

posted @   明王不动心  阅读(517)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示