`
我改名了
  • 浏览: 89505 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

ofbiz11.04 eca 中 set 操作的BUG

阅读更多

近日又发现了一个ofbiz 11.04  的bug .

在eca 中使用set 如果使用ofbiz 提供的表达式就会出现问题 . eg: <set field-name="newCpspTxId" env-name="${oriTx.oldCpspTxId}" />

 

这行命令的意思是 是把eca 中上下文context 中的oriTx 这个map 中的key 为oldCpspTxId 对应的value 以newCpspTxId为key put 到上下文context 中。。

 

这行命令在第一次执行是正确的 , 如果第一次从上下文取到的值为 301415 的话,那么下次执行取值仍然还是301415 .

之后再执行的话都是定值,不会根据上下文参数的变化而变化了 。

 

 

 

根据我们使用的需要,通过修改其源码 , 现对eca set 规则调整如下 ::

eca  set 使用规则(env-name , format , value  这三者单独设置的时候,不需要特别留意,配合使用的时候 请参考规则) :

1: 如果不设置 format   参数值来源先从env-name 中获取 , 如果 解析env-name 获得的值为null 那么默认使用 value  .这里的env-name 包括带${} 和 不带${}的,  如果 env-name 和 value 都为null 那么不做任何操作 。env-name 值类型为Object ,其上下文本来是什么类型现在还是什么类型 ,value 是String 类型 。


2:如果format 为 append 则先把env-name 转化成String  然后和 value 拼接起来 , env-value 居左  value 居右 .结果类型为String


3如果format 为其他类型 ,那么以env-name format 之后的值 为主 ,如果env-name 为null 那么 format value .

 

duan.jt(段金涛) 10:53:40

4 如果 field-name 的格式是以后逗号分隔的
 。eg:  <set field-name="oriTx.txId"    这种 ,系统会把最后的结果以 txId 为key 放到上下文中的oriTx 这个Map 中 。。。
field-name 中只支持一个逗号.如果不包含逗号 ,结果是以field-name  为key 直接放到上下文中的 。。。

0
0
分享到:
评论
3 楼 dagmom 2012-06-15  
eeca的时候,可以用这样的方法,去设置当前userLogin吗
2 楼 我改名了 2012-04-22  
jiasudu1649 写道


这样用
<set field-name="noteParty" env-name="partyIdTo"/>
        <set field-name="noteInfo" env-name="subject"/>

也会有问题吗

这样使用不会有问题的 .
1 楼 jiasudu1649 2012-04-18  


这样用
<set field-name="noteParty" env-name="partyIdTo"/>
        <set field-name="noteInfo" env-name="subject"/>

也会有问题吗

相关推荐

    ofbiz11.04 db dmp

    ofbiz11.04 db dmp

    ofbiz 数据模型 中文手册

    在OFBiz项目中,数据模型是其业务逻辑的基础,其中定义了大量的数据库表以及它们之间的关联和约束。本手册主要翻译了核心数据模型中的表结构和字段,以及提供了主键、外键、非空字段的说明。 核心数据模型涵盖了几...

    WIN7上安装Ofbiz 数据库 postgresql

    在本文中,我们将详细介绍如何在Windows 7操作系统上安装OFBiz企业应用框架,并配置PostgreSQL作为其数据库。OFBiz是一个开源的企业级应用平台,而PostgreSQL是一个强大的对象关系型数据库管理系统,它们共同为企业...

    Ofbiz 和 Mysql中文乱码解决方法.docx

    CREATE DATABASE ofbiz CHARACTER SET utf8 COLLATE utf8_general_ci; ``` `CHARACTER SET utf8`定义了数据库的字符集,而`COLLATE utf8_general_ci`定义了排序规则,ci表示大小写不敏感。 2. **配置数据库连接*...

    ofbiz中文技术文档

    1. **安装与配置**:文档可能会详细介绍如何在各种操作系统环境下安装Ofbiz,包括Java环境设置、数据库连接配置以及运行服务器的步骤。 2. **架构概述**:Ofbiz基于Service Engine、Entity Engine、Event Engine、...

    Ofbiz 数据库全模型

    在Ofbiz中,数据库模型扮演着至关重要的角色,它是系统数据结构的基础,定义了所有业务实体及其相互关系。 数据库模型是Ofbiz的核心组成部分,它描述了系统中的各种实体(如产品、订单、客户等)以及它们之间的关系...

    ofbiz学习笔记(自学整理)

    这将帮助你理解Ofbiz如何在数据库中存储信息,如何通过服务接口操作数据,以及如何展示这些信息给用户。 文档中提供的"新建 Microsoft Word 文档 (2).docx"和"新建 Microsoft Word 文档.docx"可能是详细的学习笔记...

    Ofbiz框架中的事务解析.pdf

    3. 当在一个`TransactionUtil.begin()`事务中,同时更新一个数据连接的表并调用另一个数据连接的存储过程,Ofbiz的事务管理应该能够协调这些操作,只要它们都支持X/Open XA协议。在这种情况下,Ofbiz和其底层的事务...

    ofbiz权限(全)

    在OFBiz权限管理系统中,采用了“安全组”(SecurityGroup)的概念来关联“权限”与“用户”。系统中的权限种类繁多,包括但不限于系统预设权限、用户自定义权限、资源权限、操作权限等。这些权限与安全组之间建立多...

    关于OFBIZ的资料

    在提供的OFBIZ_Demo压缩包中,用户可以找到OfBiz的演示版本,这是一套预配置的环境,展示了OfBiz在实际业务场景下的功能和操作。这个演示通常包括以下部分: 1. **安装与配置**:压缩包可能包含了安装指南和配置...

    ofbiz安装与配置

    1. SVN 插件安装:我们需要在 Eclipse 中安装 SVN 插件,以便从 SVN 仓库中下载 Ofbiz 的源代码。我们可以在 Eclipse 的“Help”菜单中选择“Install New Software...”,然后输入 Subclipse 安装地址:...

    Ofbiz10.04改用mysql数据库配置

    在Ofbiz 10.04版本中,使用MySQL数据库进行配置可以提供高效且成本效益的数据存储解决方案。以下是详细的步骤和注意事项: ### Step1:创建数据库 首先,在MySQL服务器上创建一个新的数据库,例如名为`ofbiz10`。这...

    ofbiz框架(文档)全

    在OFBiz中,过滤器用于在请求到达实际处理业务的组件之前进行安全检查、数据验证等操作。 2. **控制器(Controller)**:在OFBiz中,控制器负责调度请求,根据配置文件中的映射规则将请求路由到相应的处理器。...

    ofbiz curd

    通过分析和运行这个示例,你可以逐步了解OFBiz的工作原理,掌握如何在实际项目中使用它进行数据操作。同时,这也是学习OFBiz框架及其组件交互的好方法。 总之,OFBiz作为一个强大的企业级应用框架,虽然初学难度较...

    ofbiz-cn.github.io:ofbiz 中文文档

    同时结合了 ofbiz 在开发过程中所参 考的一些资料,比如《数据模型资源手册(卷1)》,《JAVA 核心模式》等对 ofbiz 的主要的设计思想 进行分析。文档的目的是为 ofbiz 的开发者和运维人员提供一个良好的参考资源。 ...

Global site tag (gtag.js) - Google Analytics