栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基于Java的Spring框架来操作FreeMarker模板的示例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于Java的Spring框架来操作FreeMarker模板的示例

1、通过String来创建模版对象,并执行插值处理
 

import freemarker.template.Template; 

import java.io.OutputStreamWriter; 
import java.io.StringReader; 
import java.util.HashMap; 
import java.util.Map; 

 
public class Test2 { 
    public static void main(String[] args) throws Exception{ 
 //创建一个模版对象 
 Template t = new Template(null, new StringReader("用户名:${user};URL:  ${url};姓名:  ${name}"), null); 
 //创建插值的Map 
 Map map = new HashMap(); 
 map.put("user", "lavasoft"); 
 map.put("url", "http://www.baidu.com/"); 
 map.put("name", "百度"); 
 //执行插值,并输出到指定的输出流中 
 t.process(map, new OutputStreamWriter(System.out)); 
    } 
}
 

执行后,控制台输出结果:

用户名:lavasoft;

URL:  http://www.baidu.com/;

姓名:  百度 
Process finished with exit code 0

 
 
2、通过文件来创建模版对象,并执行插值操作
 

import freemarker.template.Configuration; 
import freemarker.template.Template; 

import java.io.File; 
import java.io.OutputStreamWriter; 
import java.util.HashMap; 
import java.util.Map; 

 
public class Test { 
    private Configuration cfg;      //模版配置对象 

    public void init() throws Exception { 
 //初始化FreeMarker配置 
 //创建一个Configuration实例 
 cfg = new Configuration(); 
 //设置FreeMarker的模版文件夹位置 
 cfg.setDirectoryForTemplateLoading(new File("G:\testprojects\freemarkertest\src")); 
    } 

    public void process() throws Exception { 
 //构造填充数据的Map 
 Map map = new HashMap(); 
 map.put("user", "lavasoft"); 
 map.put("url", "http://www.baidu.com/"); 
 map.put("name", "百度"); 
 //创建模版对象 
 Template t = cfg.getTemplate("test.ftl"); 
 //在模版上执行插值操作,并输出到制定的输出流中 
 t.process(map, new OutputStreamWriter(System.out)); 
    } 

    public static void main(String[] args) throws Exception { 
 Test hf = new Test(); 
 hf.init(); 
 hf.process(); 
    } 
}

 
创建模版文件test.ftl

 
 
  Welcome! 
 
 
  Welcome ${user}! 
  

Our latest product: ${name}!

尊敬的用户你好: 
用户名:${user}; 
URL:  ${url}; 
姓名:  ${name}

 
执行后,控制台输出结果如下:

 
 
  Welcome! 
 
 
  Welcome lavasoft! 
  

Our latest product: 百度!

尊敬的用户你好:

用户名:lavasoft; 
URL:  http://www.baidu.com/; 
姓名:  百度 
Process finished with exit code 0


3.基于注解的Spring+freemarker实例
web项目图

web.xml文件

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

 
springmvc-servlet.xml文件

 
 
 
    
     
     
    
    
      
    
    
    
     
     
    
    
    
     
     
     
     
    
 

 
 FreeMarkerController类

package com.spring.freemarker; 
 
import java.util.ArrayList; 
import java.util.List; 
 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.servlet.ModelAndView; 
 
import com.spring.vo.User; 
 
@Controller 
@RequestMapping("/home") 
public class FreeMarkerController { 
 
  @RequestMapping("/index") 
  public ModelAndView Add(HttpServletRequest request, HttpServletResponse response) { 
 
    User user = new User(); 
    user.setUsername("zhangsan"); 
    user.setPassword("1234"); 
    List users = new ArrayList(); 
    users.add(user); 
    return new ModelAndView("index", "users", users); 
  } 
 
} 

 User类

package com.spring.vo; 
 
public class User { 
 
  private String username; 
  private String password; 
 
  public String getUsername() { 
    return username; 
  } 
 
  public void setUsername(String username) { 
    this.username = username; 
  } 
 
  public String getPassword() { 
    return password; 
  } 
 
  public void setPassword(String password) { 
    this.password = password; 
  } 
 
} 

 
 index.ftl文件

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

 部署到tomcat,运行:http://localhost:8080/springmvc/home/index
  显示结果:

 username : zhangsan
 password : 1234

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/150477.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号