OFBiz进阶--OFBiz标签之
[*Services.xml]-mililang介绍与分析(总)
==========================================================
内部使用到的标签功能分析 (由于内容过多, 将分章节展现, 这里提供列表)
OFBiz进阶--OFBiz标签之[*Services.xml]-mililang介绍与分析(总)
Mililang总体介绍, 在OFBiz中的用法
OFBiz进阶--OFBiz标签之[*Services.xml]-mililang介绍与分析(一)
Mililang方法根标签属性分析:
OFBiz进阶--OFBiz标签之[*Services.xml]-mililang介绍与分析(二)
Mililang标签: , 调用业务处理标签(Call Operations)
OFBiz进阶--OFBiz标签之[*Services.xml]-mililang介绍与分析(三)
Mililang标签:
, 判断操作(Conditional (If) Operations)
OFBiz进阶--OFBiz标签之[*Services.xml]-mililang介绍与分析(四)
Mililang标签:
<*find|entity|related|store|remove*>, 实体操作(Entity Engine Operations)
OFBiz进阶--OFBiz标签之[*Services.xml]-mililang介绍与分析(五)
Mililang标签:
<*object|class*> , 调用Java类及方法标签(Java Call Operations)
<*field|map|list*>, 变量处理(Method Environment Operations)
, 服务特定操作(Service Specific Operations)
OFBiz进阶--OFBiz标签之[*Services.xml]-mililang介绍与分析(六)
Mililang标签:
<*error*> , 控制和错误处理(Control and Error Handling Operations)
<*request|session*> , 事件的具体操作(Event Specific Operations)
, 事务机制控制(Entity Engine Transaction Operations)
==========================================================
什么是 mililang 语言,
它是 [MililangMethod.xml]
是 [simple-methods.xml]
是 [MililangServices.xml]
个人见解
mililang(simple-methods)是OFBiz架构中独有的一种XML标签规则,
它使用XML标签代替一般化的Java编码,
实现需求中的业务逻辑, 各种标签都是在OFBiz项目中常用的Java编码的实现.
它的亮点
让更多不精通Java编码实现的开发人员可以快速上手, 极高的提高了项目开发的效率
开发人员可以不需要太注重明确的编码实现, 专心实现需求的业务逻辑
可以实现所见即所得的开发方式, 即不需要像Java编码一样重新编译并重新启动项目来使功能代码生效
代码转为XML实现, 屏蔽了使用Java编码由于开发人员水平导致的代码优劣问题
XML标签实现了Java编码的功能并增强了代码的容错能力, 致使一些Java编码出现的错误减少
可以使用非常灵活的逻辑实现方式, 甚至使用 groovy 和 ${} 等灵活的编码功能
一般用途
实现简单的 CRUD(增读改删) 数据库操作
实现类似工具方法的服务, 如 权限检查, 登陆, 数据校验, 等等
可以在不写一行Java代码的情况下, 实现项目的急速开发
所有逻辑功能的实现, 甚至完全摒弃 Java 编码
使用方法
调用时使用的文件路径配置规则 (“component:///script/MililangMethod.xml”)
在 controller.xml 中 标签直接使用
type="simple" invoke="createInvoiceItemPayrol”
path="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceEvents.xml”/>
在 services.xml 中由服务调用
engine="simple"
location="component://content/script/org/ofbiz/content/compdoc/CompDocServices.xml"
invoke="removeContentApproval"
default-entity-name="ContentApproval" auth="true">
Remove ContentApproval
在 /script/ScriptServices.xml 中由mililang方法调用
注意: 当前文件中的 mililang 方法必须文件内唯一, 类似Java的类中 [方法+参数], 不能重复
<call-simple-method method-name="createUser”
xml-resource="component://party/script/org/ofbiz/party/user/UserEvents.xml”/>
在 Java/Groovy 中使用
org.ofbiz.minilang.SimpleMapProcessor.runSimpleMapProcessor(
"component://content/script/org/ofbiz/content/ContentManagementMapProcessors.xml”,
"contentAssocIn", content, contentAssoc, FastList.newInstance(), Locale.getDefault());
方法介绍:
runSimpleMapProcessor(String xmlResource, String name, Map inMap,
Map results, List