在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示例工程"中,它与Struts2框架结合使用,构建了一个完整的MVC(Model-View-Controller)架构的应用。Struts2是Apache软件基金会的开源项目,是一个基于MVC设计模式的Java web框架,它提供了对...
首先,我们来看标题中的"freemarker示例程序",这通常意味着我们将学习如何配置和执行Freemarker模板。Freemarker的核心概念是模板(Template)和数据模型(Data Model)。模板是HTML或者其他文本文件,其中包含了由...
本文将详细介绍如何在Spring Boot项目中集成Freemarker,并通过示例代码进行讲解。 首先,我们需要在项目的`pom.xml`文件中添加对`spring-boot-starter-freemarker`的依赖: ```xml <groupId>org.spring...
虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据 FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件 FreeMarker与容器无关...
freemarker简短易懂的工具类
在IT行业中,Spring框架是Java应用开发中的一个核心组件,它提供了一个全面的编程...通过这个示例源码,你可以了解到Spring与Freemarker整合的具体实现,以及在实际项目中如何运用这一组合来构建高效、灵活的Web应用。
<title>Freemarker示例 欢迎,${name}! 你的密码是:${password} ``` 当运行`TemplateTest`时,`process()`方法会将数据模型中的`name`和`password`值与模板文件结合,生成如下的输出: ``` <!DOCTYPE ...
model.put("title", "Spring MVC + Freemarker 示例"); model.put("user", user); return "hello"; } } ``` 4. **运行与测试**: - 启动Spring MVC应用,访问`http://localhost:8080/hello?name=YourName`,...
### FreeMarker 示例 以下是一个简单的 FreeMarker 使用案例,包括搭建 Maven 项目、配置依赖、创建模板文件以及处理变量等内容。 #### 搭建 Maven 项目 创建一个新的 Maven 项目,并添加 FreeMarker 的依赖。`...
在本示例中,我们将深入探讨Freemarker的基础用法、核心概念以及如何创建一个简单的Freemarker示例。 **一、Freemarker基本概念** 1. **模板(Templates)**: 模板是Freemarker的核心,它包含静态文本和动态占位符...
<title>FreeMarker示例 欢迎,${name}! [1, 2, 3] as num> 当前数字:${num} ``` 在这个例子中,`<#assign>`指令用于定义变量,`${}`用于输出变量值,`<#list>`用于遍历数组或集合。 总的来说,...
set("title", "JFinal + Maven + FreeMarker 示例"); set("appName", "我的应用"); render("index.ftl"); } } ``` 最后,通过运行`mvn clean install`命令,Maven会自动下载依赖并构建项目。然后,你可以使用...
model.put("title", "FreeMarker示例"); model.put("name", name); return new ModelAndView("hello", model); } } ``` 这里的`@RequestMapping("/hello")`指定了请求映射,`@RequestParam`用来获取请求参数。`...
这个示例是关于如何使用Freemarker来生成XML文件,对于初学者来说,理解这个过程有助于掌握Freemarker的基本用法和XML的生成技巧。 在Java中,Freemarker与数据模型结合,通过模板文件生成输出。对于XML生成,首先...
<title>Freemarker示例 公司信息 地址:${address} 电话:${phone} ``` 然后在控制器类中,你可以创建一个方法,该方法返回这个模板的名称,并在方法体内设置模型数据: ```java import org.spring...
model.put("title", "Spring MVC & FreeMarker示例"); model.put("message", "欢迎使用FreeMarker模板"); return new ModelAndView("index", model); } } ``` 对应FreeMarker模板`index.ftl`: ```html <!...
model.put("title", "Freemarker示例"); model.put("content", "这是Freemarker生成的静态HTML内容"); // 配置Freemarker Configuration cfg = new Configuration(Configuration.VERSION_2_3_30); cfg....
本项目示例将深入探讨如何使用Freemarker来生成静态HTML页面,帮助你理解其基本原理和操作流程。 1. **Freemarker基础** - Freemarker是一个基于模板的开源Java库,它允许开发者通过定义模板语言(FTL,Freemarker...
在本示例中,Freemarker被用于生成Word文档,实现数据与模板的结合,使得动态生成Word文档变得更加简单。 首先,让我们深入了解Freemarker的工作原理。Freemarker模板由纯文本组成,其中包含特定的控制结构,如`...
接下来我们通过一个具体的示例来理解 Freemarker 的使用方法: ```html <title>Welcome! <!-- 注释部分 --> <h1>Welcome ${user}! <p>We have these animals: ${being.name} for ${being.price} Euros...