【发布时间】:2015-03-27 03:47:37
【问题描述】:
我正在尝试在XML 文件中导出数据。我有几个实体,可以从中检索ArrayList 中的所有必要数据。我可以利用这个ArrayList 并通过在script 标记中嵌入Java / groovy 代码来导出数据。但我想知道有没有其他方法可以在 Moqui 中导出数据?
我只知道writeXmlText方法可以在XML中写入实体数据。
编辑:这是我的示例服务
<service verb="get" noun="ExportData" type="script" location="component://PracticeTutorial/service/ExportTutorialServices/getExportData.groovy">
<out-parameters>
<parameter name="employees" type="List">
<parameter name="employee" type="Map">
<parameter name="empId"/>
<parameter name="firstName"/>
<parameter name="lastName"/>
<parameter name="designation"/>
</parameter>
</parameter>
</out-parameters>
</service>
示例 Groovy 脚本:
import org.moqui.entity.EntityList
import org.moqui.entity.EntityValue
employees = []
EntityList employeeList = ec.entity.makeFind("tutorial.Employee").list()
for(EntityValue ev : employeeList) {
employees.add([empId:ev.empId, firstName:ev.firstName,
lastName:ev.lastName, designation:ev.designation])
}
我这样调用服务:
<transition name="export">
<actions>
<service-call name="ExportTutorialServices.get#ExportData" in-map="context" out-map="context"/>
</actions>
<default-response url="."/>
</transition>
问题一:调用服务后如何从屏幕访问employeesArrayList?
问题 2: 有没有更简单的方法可以从 ArrayList employees 导出数据?我想产生这样的输出。
预期输出:
<employees>
<employee>
<id>001</id>
<firstName>John</firstName>
<lastName>Doe</lastName>
<designation>Developer</designation>
</employee>
</employees>
谢谢
【问题讨论】:
-
这些信息不足以缩小任何类型的答案。 ArrayList 包含什么?您要生成什么样的 XML 输出? EntityValue、EntityList 等上的 write XML 方法生成用于实体 XML 导出/导入文件的格式。
-
@DavidE.Jones 抱歉,问题不完整。我已经用必要的细节更新了问题。
标签: moqui