-
pom.xml中加入jar依赖
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>
1.7
</version>
</dependency>
- velocity语法规则见:https://github.com/putaoshu/jdf/blob/master/doc/core_vm.md
-
定义自己的vm模板文件
Collapse source<
html
>
<
head
>
<
h1
align
=
"center"
>$title</
h1
>
<
h6
align
=
"left"
>$date</
h6
>
<
h6
align
=
"left"
>$author</
h6
>
</
head
>
<
body
>
<
hr
/>
<
p
>
详细性能数据记录:
</
p
>
<
table
cellpadding
=
"2"
cellspacing
=
"1"
border
=
"1"
style
=
"empty-cells:show"
align
=
"center"
>
<
tr
>
<
td
align
=
"center"
rowspan
=
"3"
colspan
=
"1"
>性能分组
<
td
align
=
"center"
rowspan
=
"3"
colspan
=
"1"
>步骤
<
td
align
=
"center"
rowspan
=
"3"
colspan
=
"1"
>机型
<
td
align
=
"center"
rowspan
=
"3"
colspan
=
"1"
>ROM
<
td
align
=
"center"
rowspan
=
"1"
colspan=$total>性能数据
</
tr
>
<
tr
>
<
td
align
=
"center"
rowspan
=
"1"
colspan=$cpuCol>CPU
<
td
align
=
"center"
rowspan
=
"1"
colspan=$memCol>内存
<
td
align
=
"center"
rowspan
=
"1"
colspan=$baterryCol>耗电
</
tr
>
<
tr
>
#foreach($cpu in $cpuList)
<
td
align
=
"center"
rowspan
=
"1"
colspan
=
"1"
>$cpu
#end
#foreach($mem in $memList)
<
td
align
=
"center"
rowspan
=
"1"
colspan
=
"1"
>$mem
#end
#foreach($battery in $batteryList)
<
td
align
=
"center"
rowspan
=
"1"
colspan
=
"1"
>$battery
#end
</
tr
>
</
body
>
<
html
>
-
java代码中定义相关类及生成方法
Collapse source12345678910111213141516171819202122232425262728293031323334353637383940414243public
static
void
main(String[] args) {
String path = System.getProperty(
"user.dir"
);
Properties p =
new
Properties();
// p.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, "");
p.setProperty(Velocity.ENCODING_DEFAULT,
"UTF-8"
);
p.setProperty(Velocity.INPUT_ENCODING,
"UTF-8"
);
p.setProperty(Velocity.OUTPUT_ENCODING,
"UTF-8"
);
try
{
Velocity.init(p);
String res =
"Table.vm"
;
System.out.println(res);
Template template = Velocity.getTemplate(res);
VelocityContext context =
new
VelocityContext();
String name =
"Test For My"
;
context.put(
"title"
,
"xxx测试报告"
);
context.put(
"date"
,
"2015年06月19日"
);
context.put(
"author"
,
"lgw"
);
context.put(
"cpuCol"
,
"3"
);
context.put(
"memCol"
,
"2"
);
context.put(
"baterryCol"
,
"1"
);
context.put(
"total"
,
"6"
);
ArrayList<String> cpulist =
new
ArrayList<String>();
cpulist.add(
"cpu1sdfsfsdfsdfsdf"
);
cpulist.add(
"cpu2sdfasdfdsfsa"
);
cpulist.add(
"cpu3"
);
ArrayList<String> memlist =
new
ArrayList<String>();
cpulist.add(
"mem1"
);
cpulist.add(
"mem2sdfsfsdfasdf"
);
ArrayList<String> batterylist =
new
ArrayList<String>();
cpulist.add(
"battery1sdfsadfdsf"
);
context.put(
"cpuList"
, cpulist);
context.put(
"memList"
, memlist);
context.put(
"batteryList"
, batterylist);
String out =
"Table.html"
;
FileOutputStream fos =
new
FileOutputStream(out);
BufferedWriter writer =
new
BufferedWriter(
new
OutputStreamWriter(
fos,
"UTF-8"
));
// 设置写入的文件编码,解决中文问题
template.merge(context, writer);
writer.close();
}
catch
(Exception e) {
e.printStackTrace();
}
}
-
效果示例:
使用Apache Velocity生成HTML报表
最新推荐文章于 2021-07-01 18:34:28 发布
-
pom.xml中加入jar依赖
- velocity语法规则见:https://github.com/putaoshu/jdf/blob/master/doc/core_vm.md
-
定义自己的vm模板文件
-
java代码中定义相关类及生成方法
-
效果示例: