XML Action概览

对于细节文档,xml-actions-${version}.xsd 文件有详尽的注解,此章节只是一个概览以帮助你上手。你可以通过许多好的XML编辑器(包括更好的Java IDE或IDE的插件)、XSD文件自身或moqui.org上从XSD文件生成的PDF来查看这些注解。

这里有需要知道的最重要的XML Actions元素的小结:

元素
set 设置一个field,要么来自于(from)另一个字段或直接赋予一个值(value),可以指定类型(type)、默认值(default-value)以及为空时是否设置(set-if-empty
if 有条件地运行在if元素下或if.then中的元素。条件可以是在if.condition属性中,或在if.condition元素下的compare和expression元素中(用and、or元素组合,用not元素取反)。对于替代动作使用else-ifelse子元素
while 只要条件为真就重复子元素。就像if元素,condition可以在if.condtion属性或if.condition元素中
iterate 迭代遍历给定list中的元素,使用entry属性中的名字在上下文中创建一个字段。如果list属性中命名的字段是一个Map,在map的entries上遍历,每个条目的key被放入上下文中,使用key属性中的名字。也会创建${entry}_index和${entry}_has_next上下文字段
script 运行在指定位置(location)的任意类型的Resource Facade能运行的脚本。或者在此元素下的文本中的Groovy脚本(内联脚本)
service-call 调用在name属性中指定的服务,使用in-map属性(它是一个Groovy表达式,所以能使用方括号[]表示内联的Map)或field-map子元素中的输入,并将输出放入out-map。可以是asyncinclude-user-login。如果服务结果出错并且ignore-error的值不为true,这个简单的方法将立即返回。
entity-find-one 查找名为entity-name的实体的单条记录,将结果(一个 EntityValue 对象)放入value-field 中,属性包括auto-field-mapcachefor-update,子元素包括field-mapselect-field
entity-find 查找名为entity-name的实体的记录,将结果EntityList对象放入list,属性包括cachefor-updatedistinctoffsetlimit,子元素包括search-form-inputs, date-filter, econdition, econditions, econdition-object, having-econditions, select-field, order-by, limit-range, limit-view 和 use-iterator。
entity-find-count 查找匹配给定条件的记录数。条件和其他可应用的选项遵循和entity-find操作同样的结构
entity-make-value 为指定名字entity-name的实体创建一个value-field的值对象,可选地基于一个map设置字段
entity-create value-field实体值创建(或更新-update)一条记录
entity-update value-field实体值更新记录
entity-delete 删除对应vlue-field实体值的记录
entity-set map(默认为上下文)设置value-field中的EntityValue对象上的include(主键(pk)、非主键(nonpk))或所有(all))指定的字段,可选地设置prefixset-if-empty
entity-sequenced-id-primary 对于有单一主键字段的实体的value-field,用一个序列值(序列名是实体全名)填充主键字段
entity-data 对于给定的模式(mode),加载或校验指定位置(location)的Entity Facade XML。
filter-map-list 过滤列表list,如果指定了to-list则把结果放入to-list,否则放回list。使用一个或多个field-mapdate-filter子元素来指定如何过滤此列表。
order-map-list 用order-by子元素中指定的字段排序一个Map对象列表list
message 把message元素下的文本加到MessageFacade,如果error为true,则加到错误列表,否则加到消息列表
check-errors 检查MessageFacade的错误消息列表(ec.message.errors),如果不为空则返回一个错误,否则啥也不做
return 立即返回。可以指定一个message来加到MessageFacade,如果error为true,则加到错误列表,否则加到消息列表
log 以指定的level记录message到日志

results matching ""

    No results matching ""