OFBiz进阶--OFBiz标签之
[*Services.xml]-mililang介绍与分析(总)
==========================================================
内部使用到的标签功能分析 (由于内容过多, 将分章节展现, 这里提供列表)
OFBiz进阶--OFBiz标签之[*Services.xml]-mililang介绍与分析(总)
Mililang总体介绍, 在OFBiz中的用法
OFBiz进阶--OFBiz标签之[*Services.xml]-mililang介绍与分析(一)
Mililang方法根标签属性分析: <simple-method.@attributes>
OFBiz进阶--OFBiz标签之[*Services.xml]-mililang介绍与分析(二)
Mililang标签: <call-*> , 调用业务处理标签(Call Operations)
OFBiz进阶--OFBiz标签之[*Services.xml]-mililang介绍与分析(三)
Mililang标签:
<if/check-*>, 判断操作(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)
<calculate|calendar>, 服务特定操作(Service Specific Operations)
OFBiz进阶--OFBiz标签之[*Services.xml]-mililang介绍与分析(六)
Mililang标签:
<*error*> , 控制和错误处理(Control and Error Handling Operations)
<*request|session*> , 事件的具体操作(Event Specific Operations)
<transaction-*>, 事务机制控制(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://<app-name>/script/MililangMethod.xml”)
在 controller.xml 中 <event> 标签直接使用
<event type="simple" invoke="createInvoiceItemPayrol”
path="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceEvents.xml”/>
<!-- 请求处理标签内调用: type为mililang的 simple标记, invoke为mililang方法名
path为mililang方法的文件路径 -->
在 services.xml 中由服务调用
<service name="removeContentApproval" engine="simple"
location="component://content/script/org/ofbiz/content/compdoc/CompDocServices.xml"
invoke="removeContentApproval"
default-entity-name="ContentApproval" auth="true">
<description>Remove ContentApproval</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<!-- 服务调用: name方法名, engine为 mililang的 simple 标记, location是mililang方法文件路径 -->
在 /script/ScriptServices.xml 中由mililang方法调用
注意: 当前文件中的 mililang 方法必须文件内唯一, 类似Java的类中 [方法+参数], 不能重复
<call-simple-method method-name="createUser”
xml-resource="component://party/script/org/ofbiz/party/user/UserEvents.xml”/>
<!-- 标签介绍: 调用 mililang 方法; method-name方法名, xml-resource方法所在文件路径 -->
在 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<String, Object> inMap,
Map<String, Object> results, List<Object> messages, Locale locale)
xmlResource: mililang 方法文件路径(“component://<app-name>/script/MililangMethod.xml”)
name: mililang方法名
inMap: 传入参数 (如: GenericValue)
results: 输出结果存放对象名
messages: 执行方法产生的消息存放至此
locale: 语言环境
在 FTL 中使用
<#assign exec_result = Static["javolution.util.FastMap"].newInstance() />
<#assign msgList = Static["javolution.util.FastList"].newInstance() />
<#assign tmpLocal = Static["java.util.Locale"].getDefault() />
<#assign exampleMap = Static["org.ofbiz.minilang.SimpleMapProcessor"].runSimpleMapProcessor(
"component://content/script/org/ofbiz/content/ContentManagementMapProcessors.xml”,
"contentAssocIn", parameters, exec_result, msgList, tmpLocal) />
相关推荐
- **Component**:代表 OFBiz 中的一个独立业务功能,在 **ofbiz-component.xml** 文件中定义。 6. **Configuration & Deployment(配置与部署)** - **GeneralConfiguration(通用配置)** - **JNDIServers**:...
- 可以利用 OFBIZ 提供的服务组件(Services)、实体模型(Entities)等特性来进行开发。 **3. 集成与测试**: - 在完成模块开发后,需要将新模块集成到 OFBIZ 主项目中。 - 通过运行 OFBIZ 的测试脚本来验证模块...
`component-load.xml`是Ofbiz系统启动时读取的配置文件之一,它负责在运行时加载和初始化组件。这个文件包含了组件的配置信息,如组件名称、描述、依赖关系、服务定义、事件处理等。理解并能熟练编辑此文件对于...
**servicedef/services.xml** - **文件位置与作用**: - **位置**:通常位于项目根目录下的`hotdeploy/service`目录内。 - **作用**:此文件定义了所有服务的配置信息,包括服务名、默认实体名称、引擎类型、...
- **Services**:在 OFBiz 中,服务是指执行特定业务逻辑的功能模块。这些服务可以被其他服务或外部应用程序调用。 - **Entities**:实体是 OFBiz 中的数据模型,用于表示业务对象,如产品、订单等。实体通过实体...
在“Ofbiz12.04 进阶之三”中,博文可能会详细介绍如何进行这个步骤。 5. **学习资源**: - 链接中的博客文章(https://kefumao.iteye.com/blog/1913742)应该提供了更详细的步骤和解释,包括可能出现的问题和解决...
本文将基于提供的“ofbiz开发顺序图”进行深入分析,旨在为开发者提供一个清晰的ofbiz开发流程概览。 #### 二、核心组件解析 根据提供的文档,我们可以看到ofbiz的核心组件及其交互方式: 1. **Web Browser ...
这通常涉及创建Java服务类,定义服务接口和实现,并在`services.xml`文件中声明这些服务。 在OFBiz中,增删改查操作可以通过调用服务API来完成,这些API由OFBiz的实体引擎提供。例如,`create`方法用于插入新记录,...
OFBiz 财务模块分析是学习 OFBiz 的不错的文档,它详细介绍了财务模块及相关表结构。在这个文档中,我们可以看到 OFBiz 财务模块的服务定义分析,包括服务名称、功能描述和备注信息。 首先,让我们来查看服务定义...
《OFBiz集成Spring和Activiti详细设计说明书》是由何增耀于2012年编写的,该文档主要探讨了如何将开源企业应用框架OFBiz与Spring框架以及Activiti工作流引擎进行集成,以实现更高效的企业应用开发和流程管理。...
OFBiz使用XML文件来定义UI组件,如页面布局、标签等。在对应的`component`目录下,创建`webapp/myfirstdemo/WEB-INF/ftl`目录,并定义FTL(FreeMarker)模板文件,用以展示和操作实体数据。同时,需要在`webapp/...
然后,你需要了解Ofbiz的配置文件,如entityengine.xml、services.xml和component.xml,它们分别定义了实体模型、服务和组件的配置。 在深入学习过程中,实践是关键。通过创建和修改简单的服务和实体,你可以逐步...
同时,熟悉OFBIZ的配置文件,如entityengine.xml、services.xml、component.xml等,是确保应用正确运行的关键。 此外,书中可能还会介绍OFBIZ的Web界面开发,包括使用Freemarker模板语言创建动态页面,以及如何使用...
为了开始OFBiz的开发之旅,你需要熟悉Java编程语言、Maven项目管理和XML配置。此外,理解数据库管理和关系型数据模型也很重要,因为OFBiz的实体组件依赖于数据库。掌握这些基础知识后,你可以逐步学习如何创建实体、...
通过分析和运行这个示例,你可以逐步了解OFBiz的工作原理,掌握如何在实际项目中使用它进行数据操作。同时,这也是学习OFBiz框架及其组件交互的好方法。 总之,OFBiz作为一个强大的企业级应用框架,虽然初学难度较...
1. **XML**:作为数据交换的标准格式,XML被广泛应用于工作流定义和消息传输中。其中,**XPDL**(XML Process Definition Language)是由WfMC(Workflow Management Coalition)制定的一种工作流定义语言标准,用于...
在IT行业中,开源框架OFBiz(The Open For Business Project)是一个功能强大的企业级应用软件系统,主要用于构建电子商务、供应链管理、客户关系管理等业务流程。本篇将详细讲解如何使用OFBiz来创建一个完整的应用...