0

我遇到了一个问题,即我在表单中有字段,在需要传递给服务的名称属性中具有变量命名,但不能这样做,因为我无法在 services.xml 中定义它

场景是,我有一个主要的表单,并且有这个字段的子部分是通过 ajax 添加到它的。这些字段代表一组数据,它们不是强制性的,这意味着某些字段可能为空。例如,在添加的字段中,我有一个 ID、金额和支票号码字段。用户可以选择填写ID和金额,但不能选择填写支票号码。可以在主表格中添加多行 ID、金额和支票号码。

首先,我使用相同的名称命名所有这些字段,并将它们作为列表传递给服务。它很好用,直到我发现如果我不填写检查号,检查号列表实际上将为空,而不是带有空字符串的列表。这导致我无法在服务中正确映射它们。

然后我尝试使用老派的方法,即在隐藏字段中有一个计数器,并用代表计数器的后缀命名它们。然后我发现我无法动态定义 services.xml 中的属性

有没有人遇到过这样的问题?有什么建议或帮助吗?

4

2 回答 2

0

我用来解决这个问题的解决方法是在调用服务进行实际处理之前添加一个事件类来过滤请求。通过这种方式,我可以获取原始形式的参数,并且不依赖 Ofbiz 服务定义来为我获取值。

于 2012-09-10T09:30:09.727 回答
0

您可以在服务定义 ie.services.xml 文件中将所有可选字段标记为可选 例如:attribute name="cheque no" type="String" mode="IN" optional="true"/>

于 2012-11-12T18:39:55.107 回答