`
suky
  • 浏览: 148280 次
  • 性别: Icon_minigender_2
  • 来自: 厦门
社区版块
存档分类
最新评论

freemaker示例

阅读更多

    在WebService的项目中,要求与客户交互传输些信息,首先需要 转换系统生成的request请求信息, 发现先使用freemaker模板来处理XML很方便最后通过SOAP传输。 freemaker的官方网址:http://freemarker.sourceforge.net/index.html 。附近提供是 freemarker-2.3.15.jar 。下面是使用freemaker的示例代码:

 

1.JAVA代码

 

package freemaker;

import java.io.IOException;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import freemarker.template.TemplateMethodModel;
import freemarker.template.TemplateModelException;

public class TestFreemaker {

	/**
	 * @param sukyl
	 */
	public static void main(String[] args) {
		//配置对象
		Configuration cfg = new Configuration();
		cfg.setObjectWrapper(new DefaultObjectWrapper());
		
		try {
			//得到模板对象
			Template temp = cfg.getTemplate("test.ftl");
			//合并模板和数据模型
			Map<String,Object> context = new HashMap<String,Object>();
			context.put("agentId", "0000");
			context.put("getPlanType", new TemplateMethodModel(){
				@Override
				public Object exec(List arg0) throws TemplateModelException {
					String planType = (String)arg0.get(0);
					 if ("1".equals(planType)) return "VISION";
				        if ("4".equals(planType)) return "DENTAL";
				        return "MEDICAL";
				}
				
			});
			
			StringWriter writer = new StringWriter();
			try {
				temp.process(context, writer);
				System.out.println(writer.toString());
			} catch (TemplateException e) {
				e.printStackTrace();
			}
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}
 

2.对应的ftl文件

 

<AgtID>${agentId}</AgtID>
<#assign plan_type = getPlanType(1!)>
<Rq mlob="${plan_type}"/>

 

3.运行输出:

 

<AgtID>0000</AgtID>
<Rq mlob="VISION"/>

 

 

 

 

分享到:
评论

相关推荐

    freemarker示例工程

    在这个"freemarker示例工程"中,它与Struts2框架结合使用,构建了一个完整的MVC(Model-View-Controller)架构的应用。Struts2是Apache软件基金会的开源项目,是一个基于MVC设计模式的Java web框架,它提供了对...

    freemarker示例程序

    首先,我们来看标题中的"freemarker示例程序",这通常意味着我们将学习如何配置和执行Freemarker模板。Freemarker的核心概念是模板(Template)和数据模型(Data Model)。模板是HTML或者其他文本文件,其中包含了由...

    SpringBoot中整合freemarker示例代码

    本文将详细介绍如何在Spring Boot项目中集成Freemarker,并通过示例代码进行讲解。 首先,我们需要在项目的`pom.xml`文件中添加对`spring-boot-starter-freemarker`的依赖: ```xml &lt;groupId&gt;org.spring...

    freemarker简单示例

     虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据  FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件  FreeMarker与容器无关...

    freemarker简单实例

    freemarker简短易懂的工具类

    spring与freemarker整合 示例源码

    在IT行业中,Spring框架是Java应用开发中的一个核心组件,它提供了一个全面的编程...通过这个示例源码,你可以了解到Spring与Freemarker整合的具体实现,以及在实际项目中如何运用这一组合来构建高效、灵活的Web应用。

    freemarker学习

    &lt;title&gt;Freemarker示例 欢迎,${name}! 你的密码是:${password} ``` 当运行`TemplateTest`时,`process()`方法会将数据模型中的`name`和`password`值与模板文件结合,生成如下的输出: ``` &lt;!DOCTYPE ...

    spring mvc freemarker 简单例子

    model.put("title", "Spring MVC + Freemarker 示例"); model.put("user", user); return "hello"; } } ``` 4. **运行与测试**: - 启动Spring MVC应用,访问`http://localhost:8080/hello?name=YourName`,...

    FreeMarker

    ### FreeMarker 示例 以下是一个简单的 FreeMarker 使用案例,包括搭建 Maven 项目、配置依赖、创建模板文件以及处理变量等内容。 #### 搭建 Maven 项目 创建一个新的 Maven 项目,并添加 FreeMarker 的依赖。`...

    freemarker 例子

    在本示例中,我们将深入探讨Freemarker的基础用法、核心概念以及如何创建一个简单的Freemarker示例。 **一、Freemarker基本概念** 1. **模板(Templates)**: 模板是Freemarker的核心,它包含静态文本和动态占位符...

    freemarker的优缺点及简单实例

    &lt;title&gt;FreeMarker示例 欢迎,${name}! [1, 2, 3] as num&gt; 当前数字:${num} ``` 在这个例子中,`&lt;#assign&gt;`指令用于定义变量,`${}`用于输出变量值,`&lt;#list&gt;`用于遍历数组或集合。 总的来说,...

    JFinal+Maven+FreeMarker入门实例

    set("title", "JFinal + Maven + FreeMarker 示例"); set("appName", "我的应用"); render("index.ftl"); } } ``` 最后,通过运行`mvn clean install`命令,Maven会自动下载依赖并构建项目。然后,你可以使用...

    freemarker与springmvc整合的例子

    model.put("title", "FreeMarker示例"); model.put("name", name); return new ModelAndView("hello", model); } } ``` 这里的`@RequestMapping("/hello")`指定了请求映射,`@RequestParam`用来获取请求参数。`...

    freemarker生成xml示例

    这个示例是关于如何使用Freemarker来生成XML文件,对于初学者来说,理解这个过程有助于掌握Freemarker的基本用法和XML的生成技巧。 在Java中,Freemarker与数据模型结合,通过模板文件生成输出。对于XML生成,首先...

    freemarker基础v1.1.pdf

    &lt;title&gt;Freemarker示例 公司信息 地址:${address} 电话:${phone} ``` 然后在控制器类中,你可以创建一个方法,该方法返回这个模板的名称,并在方法体内设置模型数据: ```java import org.spring...

    Spring MVC and FreeMarker Sample

    model.put("title", "Spring MVC & FreeMarker示例"); model.put("message", "欢迎使用FreeMarker模板"); return new ModelAndView("index", model); } } ``` 对应FreeMarker模板`index.ftl`: ```html &lt;!...

    freemarker生成静态HTML例子

    model.put("title", "Freemarker示例"); model.put("content", "这是Freemarker生成的静态HTML内容"); // 配置Freemarker Configuration cfg = new Configuration(Configuration.VERSION_2_3_30); cfg....

    freemarker 简单项目示例

    本项目示例将深入探讨如何使用Freemarker来生成静态HTML页面,帮助你理解其基本原理和操作流程。 1. **Freemarker基础** - Freemarker是一个基于模板的开源Java库,它允许开发者通过定义模板语言(FTL,Freemarker...

    Freemarker导出word示例,包括jfreechart图表

    在本示例中,Freemarker被用于生成Word文档,实现数据与模板的结合,使得动态生成Word文档变得更加简单。 首先,让我们深入了解Freemarker的工作原理。Freemarker模板由纯文本组成,其中包含特定的控制结构,如`...

    超强freemarker使用总结,有示例有讲解,可做快速查询手册!!

    接下来我们通过一个具体的示例来理解 Freemarker 的使用方法: ```html &lt;title&gt;Welcome! &lt;!-- 注释部分 --&gt; &lt;h1&gt;Welcome ${user}! &lt;p&gt;We have these animals: ${being.name} for ${being.price} Euros...

Global site tag (gtag.js) - Google Analytics