我正在使用 Apache Velocity 模板使用在 Java 服务的基于 SOA 的事件中设置的参数生成电子邮件正文。
在 java 中,我们为我们触发的 SOA 事件设置参数。参数设置如下:
createSOAEventParam(uow, soaEvent.getEventId(), "startedOn", startedOn);
createSOAEventParam(uow, soaEvent.getEventId(), "lastRunDate", new DateTime().toString());
我们还设置了每个子进程中关联的文件名和文件大小,如下所示:
**for(String subProcess : subProcesses){
File file = new File(GOLD_DIR + subProcess + ".dat");
if(file!=null && file.exists()){
createSOAEventParam(uow, soaEvent.getEventId(), file.getName(), String.valueOf(file.length()));
}
}**
现在我的任务是在应用程序资源中检索这些参数,它有一个电子邮件正文条目,我使用 VTL 打印出这些参数。像这样的东西:
label.Interfaces.FailureMessage.body=
<html>[label.LastSubmittedDate]: #if($startedOn != "") $startedOn #end <br/>
[label.FileName]: (iteration logic here) [label.FileSize]: (iteration logic here)<br/>
我需要遍历所有最后带有“.dat”的参数,因为它们代表文件名,并且 - 这是java代码中的事件名,并且还获得文件大小,即事件名的值。如何在 VTL 中执行此迭代?