首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Spring MVC 整合 FreeMarker 實戰:從基礎配置到註解驅動開發

     編輯:Java 相關知識

一、FreeMarker 核心用法(獨立使用)

1. 字符串模板

Template t = new Template(null, new StringReader("用戶名:${user}; URL:${url}; 姓名:${name}"), null);
Map map = Map.of("user","lavasoft","url","https://www.baidu.com/","name","百度");
t.process(map, new OutputStreamWriter(System.out));

輸出:用戶名:lavasoft; URL:https://www.baidu.com/; 姓名:百度

2. 文件模板

Configuration cfg = new Configuration();
cfg.setDirectoryForTemplateLoading(new File("G:/testprojects/freemarkertest/src"));
Template t = cfg.getTemplate("test.ftl");
Map map = Map.of("user","lavasoft","url","https://www.baidu.com/","name","百度");
t.process(map, new OutputStreamWriter(System.out));

test.ftl:


Welcome!

Welcome ${user}!

Our latest product: ${name}!

二、Spring MVC + FreeMarker 整合(註解驅動)

1. web.xml


    springmvc
    org.springframework.web.servlet.DispatcherServlet
    
        contextConfigLocation
        /WEB-INF/springmvc-servlet.xml
    
    1


    springmvc
    /

2. springmvc-servlet.xml





    
    



    
    
    

3. Controller

users = Collections.singletonList(user); return new ModelAndView("index", "users", users); } }

4. Model

public class User {
    private String username, password;
    // getter/setter
}

5. View (index.ftl)

<#list users as user>
username : ${user.username}
password : ${user.password}

6. 運行效果

訪問 https://localhost:8080/springmvc/home/index →

username : zhangsan
password : 1234

三、關鍵點總結

  • FreeMarkerConfigurer:指定模板加載路徑、編碼。
  • FreeMarkerViewResolver:後綴 .ftl、Content-Type、requestContextAttribute 暴露 request 供模板使用 rc.contextPath。
  • Controller 返回 ModelAndView(viewName, modelKey, modelValue),鍵值對自動暴露給模板。
  • 模板語法:${...} 插值、<#list> 迭代、<#if> 判斷等。

四、總結

Spring MVC 無縫整合 FreeMarker,註解驅動開發極大簡化配置。掌握 Configurer+ViewResolver 雙 Bean 配置、模板路徑約定、ModelAndView 傳值模式,即可高效構建頁面渲染服務。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved