Cameo下拉属性VTL脚本问题:Verify Method无法输出
在Cameo中使用VTL提取需求下拉类型属性的解决方案
在Cameo里,下拉类型的需求属性(比如你提到的Verify Method)一般是枚举类型或者预定义的InstanceSpecification实例,直接调用属性名无法获取显示值,得针对属性类型调整写法:
常见有效写法
- 若属性是枚举类型:
用$requirement.verifyMethod.name获取枚举项的名称,或者$requirement.verifyMethod.label获取枚举项的显示标签(如果配置了标签)。 - 若属性是InstanceSpecification实例(比如自定义下拉选项里的实例):
用$requirement.verifyMethod.name获取实例名称,这通常就是下拉选项显示的内容。
修正后的VTL脚本示例
#foreach($requirement in $Requirement) $requirement.id $requirement.name $requirement.text # 获取Verify Method的下拉值 $requirement.verifyMethod.name # 若枚举有配置标签,可替换为: # $requirement.verifyMethod.label #end
排查技巧
如果上述写法无效,先打印属性类型定位问题:
#foreach($requirement in $Requirement) # 输出属性类名,确认属性类型 $requirement.verifyMethod.getClass().getName() #end
根据输出的类名(比如com.nomagic.uml2.ext.magicdraw.classes.mdkernel.EnumerationLiteral或com.nomagic.uml2.ext.magicdraw.classes.mdkernel.InstanceSpecification),再调整取值逻辑。
内容的提问来源于stack exchange,提问作者Barbenheimer
相关产品推荐
相关产品推荐

