跳转到主要内容
arc:map 关键字用来将对象中的属性映射到另一个对象的属性。从一个对象中读取属性,并使用在 map 字符串中指定的新名称写到另一个对象中。arc:map 关键字不会清除目标对象,仅仅是增加了新属性。或者,如果在目标对象中已存在相同的属性名,则对应的属性值将被覆盖,其它属性则保持原样。

参数

  • to:要将属性写入的对象的名称。
  • from:要从中读取属性的对象的名称。
  • map:属性名称的列表,指定了目标对象中的属性名称,然后是源对象中的属性名称。例如:可以使用下面的语法,将带有一个前缀的属性映射到带有另一个前缀的属性: customer:\* = soap:\* 任何不是有效属性名称的字符都将被忽略,并用于划分名称的结尾。

控制属性

  • 此关键字没有任何控制属性。

示例

映射三个属性:map 是一系列 “to” 属性名,后跟 “from” 属性名。
在本例中,item1 的 var1 和 var2 属性分别被映射到 item2 的 attr1 和 attr2。attr1 属性,在 item2 中值被设为 z,被 item1 中 var1 的值 x 覆盖。attr2 属性,在 item2 中不存在,被创建且值被设为 y,即在 item1 中 var2 的值。 可以将多个属性从具有一个前缀的对象映射到具有不同前缀的对象。这对于将前缀从应用程序前缀(例如 soap:*)更改为业务域前缀(例如 customer:*)时会很有用。下面的示例创建一个从对象 soapout 中所有 soap:* 属性到对象 customer 中以 customer:* 为前缀的属性映射:
将一个项目的所有属性复制到另一个对象:

另请参阅

  • arc:set:设置对象的属性。