freemarker测试

在Webwork、Freemarker结合中,Freemarker的Configuration可通过Webwork提供的FreemarkerManager来帮助构造一个实例,往往是通过Listener的方式利用ServletContext实例
来构造。
Freemarker本身只是专注于模板解决方案,所以脱离Web环境依然是可以用作模板格式化的。

private void init() {
config = new Configuration(); //自己构建一个简单的带有默认值的CFG
URL dir = ClassLoader.getSystemResource("template"); //获取装有FTL的目录
File file = new File(dir.getFile());
System.out.println(dir.getFile());
try {
config.setDirectoryForTemplateLoading(file); //设定默认模板目录
} catch (IOException ex) {
ex.printStackTrace();
}
}
// 测试运行
@SuppressWarnings("unchecked")
public void run() {
try {
Map map = new HashMap();
map.put("name", "fish");
map.put("script", "<script>alert('test');</script>");
Template template = config.getTemplate("test.ftl", "utf-8");
//Reader reader = new CharArrayReader("name = ${name} and script= ${script}".toCharArray());
//Template template = new Template("tp1", reader, config);
Writer out = new OutputStreamWriter(System.out);
//Writer out = new CharArrayWriter();
template.process(map, out);
//System.out.println(out.toString());
} catch (Exception ex) {
ex.printStackTrace();
}
}


其中test.ftl放在初始化对应的包下
template/test.ftl
内容:
 the name is ${name}, and the script is ${script}
html: ${script?html}
xml:${script?xml}
js : ${script?js_string}
xml_js : ${script?xml?js_string}
<#function test d t>
<#if d gt t>
<#return ">">
<#else>
<#return "<=">
</#if>
</#function>
3 ${test(3,5)} 5
6 ${test(6,5)} 5

注意,这里是作为文件模板输入了引擎, 同理我们可以通过自己构造Template来实现内存变量的格式化输出、以及能够包装为Reader的任意IO流的输入。
通过template.process(map, out);这个方法可以看到,我们可以给一个任意输出流,可以通过改变实现类实现输出到网络、文件、内存变量等等任意IO流可到达的地方。
在使用Postman进行功能测试时,你可以使用Freemarker模板来生成测试报告。引用中的配置指定了模板存放文件夹和模板名。在配置文件中,tmplPath指定了模板存放文件夹的路径,而autoFlowTmpl指定了使用的模板名。你可以将需要的测试数据通过Freemarker模板渲染,生成相应的测试报告。然后,你可以使用Postman发送请求,并将生成的报告与请求结果进行对比,以验证功能的正确性。这样,你就可以使用Postman对项目进行全面的功能测试了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [基于feemarker导出word文档](https://blog.csdn.net/qq_45486909/article/details/116498902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [142讲玩转【Spring Boot 分布式电商】开发](https://download.csdn.net/download/weixin_27076351/19565509)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [freemarker 生成word,支持循环导出图片 WPS版本](https://blog.csdn.net/qq_40965479/article/details/125446622)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值