将基于标记的属性面板转换为 MVC 属性面板
在先前的版本中,使用先前部分所述的基于标记的方法创建并显示所有属性面板 (称为“属性面板”)。此外,在先前的版本中,可能会创建属性表格,这与在构造中执行的操作非常相似,不同之处在于使用的是 describeAttributesTablerenderTable 标记而不是 describePropertyPanelrenderPropertyPanel 标记。
此类面板和属性表格可以非常容易地转换为 MVC 属性面板,如下所述。请注意,如果将面板或表格转换为 MVC 面板,则除了移除相关的 JSP 文件外,还应确保移除与面板或表格相关的任何 *typedservices.properties.xconf 文件条目。
如果面板适用于 Typed 的自定义对象类型,并且对应于预设构建器类可用的屏幕类型之一 (请参阅解决方案 - 使用主要属性布局创建带有可视化组件的高级属性面板解决方案 - 使用主要属性布局创建不带可视化组件的高级属性面板以及解决方案 - 使用创建、编辑或更多属性屏幕类型布局创建高级属性面板部分),您只需在“类型和属性管理”实用程序中定义该屏幕类型的布局即可。将 describePropertyPanel/ describeAttributesTable 标记中包括的每个属性添加到布局中。可用于标记的大多数配置属性可以在“类型和属性管理”实用程序中进行定义。
要显示面板,请使用如何在 JSP 页面中包括属性面板中介绍的一种方法。除非需要使用与预设构建器所定义的视图 JSP 或基准对象不同的视图 JSP 或基准对象,否则无需编写 Java 构建器类。请注意:如果您的自定义对象类型未实现 Typed,则可以对其进行修改以实现 TypeManaged,以使其显示在“类型和属性管理”实用程序中,并可为其定义布局。
如果您的自定义对象类型为 Typed 或 TypeManaged,并且您的面板适用于“类型和属性管理”实用程序中不存在预设构建器的某种屏幕类型,则应在“类型和属性管理”实用程序中为该屏幕类型创建布局。将 describePropertyPanel/ describeAttributeTable 标记中包括的每个属性添加到布局中,并根据 describeProperty 标记中所包含的属性配置每个属性在“类型和属性管理”实用程序中的显示。您还需要创建 Java 构建器类,以从布局中创建 AttributePanelConfig (请参阅解决方案 - 使用在类型和属性管理实用程序中定义的任何布局创建高级属性面板)。在 Java 构建器类中,应包括 buildComponentData() 方法,该方法可通过调用方法 (与 getModelTag() 调用的方法相同) 来创建面板基准对象。要呈现面板,请使用如何在 JSP 页面中包括属性面板中介绍的一种方法。
如果选取的对象类型不是 TypeManaged 或面板不适用于可用的屏幕类型之一,请按照解决方案 - 使用在 Java 构建器类中创建的配置创建简单或高级属性面板中的说明为面板创建 Java 构建器类,创建过程需遵循简单属性面板的技术。请注意:
构建器的 buildComponentConfig()buildAttributesComponentConfig() 方法创建的 AttributePanelConfig 对应于 describePropertyPanel/ describeAttributesTable 标记创建的配置。将标记上的任何属性转换为 AttributePanelConfig 中的对等特性。有关如何修改面板上下文对象 (对应于 describePropertyPanel 标记的 "oid" 属性) 的详细说明,请参阅如何修改面板上下文对象
构建器创建的 AttributeConfigs 对应于 describeProperty 标记创建的配置。将 describeProperty 标记上的任何属性转换为 AttributeConfig 中的对等属性。
构建器的 buildComponentData() 方法对应于 getModel 标记。您可以调用相同的方法来获取 buildComponentData() 方法中的面板基准对象,就像通过 getModel() 标记执行此操作一样。
标记 <mvc:simpleAttributePanel> 对应于 renderPropertyPanel/renderTable 标记。此标记由视图 JSP <Windchill>/codebase/WEB-INF/jsp/components/simpleAttributePanel.jsp 调用。通常情况下,应通过在构建器中对 AttributePanelConfig 调用 setView() 方法来指定该 JSP 视图。请注意,用于 AttributePanelConfigs 的默认组件 id 为 attributePanel。如果在标记上指定了 compId 属性,则可能需要为面板创建自定义的 JSP 视图页面,并将视图设置为该 JSP。在自定义 JSP 中,应通过在 <mvc:simpleAttributePanel> 标记上包含 compId 属性来设置组件 id。
这对您有帮助吗?