解决方案
用户和管理员动态创建的选项卡将保留在数据库中。
必备知识
要应用此过程,需要了解以下内容:
涉及 Java、XML 和 JavaScript (尤其是 JavaScript 对象符号 (JSON)) 的基本开发
了解如何通过操作模型创建和配置信息页面选项卡 (有关详细信息,请参阅自定义信息页面组件)
解决方案元素
元素
类型
说明
ClientTab.java
Java 类
位于 <WT_HOME>\com\ptc\core\ui\tab
提供数据库中保留的选项卡对象的定义。包含将选项卡与其内容、对象类型、创建者等信息关联所需的所有必要信息。
TabSetDelegate.java
Java 接口
位于 <WT_HOME>\com\ptc\core\ui\tab
定义用于确定要用于信息组件的一组选项卡的接口。
DefaultTabSetDelegate.java
Java 类
位于 <WT_HOME>\com\ptc\core\ui\tab
提供 TabSetDelegate 接口的默认实现。此类将确定要为信息页面显示哪些选项卡。
JSONTabServiceAdapter.java
Java 类
位于 <WT_HOME>\com\ptc\core\ui\tab
用于将来自客户端的 JSON 对象转换为服务器上的可持续对象。
ClientTabHelper.java
Java 类
位于 <WT_HOME>\com\ptc\core\ui\tab\server
帮助程序类,用于提供对 ClientTab 服务以及其他帮助程序方法的访问。
ClientTabService,java
Java 接口
位于 <WT_HOME>\com\ptc\core\ui\tab\server
定义用于存储、检索和删除 ClientTab 对象的接口。
StandardClientTabService.java
Java 类
位于 <WT_HOME>\com\ptc\core\ui\tab\server
提供 ClientTabService 的默认实现来存储、更新和删除 ClientTab 对象。
TabManager.jsfrag
Javascript 片段
位于 <WT_HOME>\netmarkets\javascript\util\jsfrags
负责管理选项卡状态的客户端代码,其中包括选项卡的创建、修改或删除。此客户端代码将通过 AJAX 请求与服务器进行交互。
TabController.java
Java 类
位于 <WT_HOME>\com\ptc\jca\mvc\controllers
服务器代码,负责接收来自客户端的 HTTP 请求,并执行相应的操作 (创建、删除或修改选项卡)。
RenderInfoPageModelTag.java
Java 类
呈现整个信息模型 (包括选项卡集)
infoPage.jsfrag
Javascript 片段
呈现选项卡集,具有在用户在选项卡中添加/移除选项卡或表格时更新选项卡集的代码。
InfoPageTabSetDataUtility.java
Java 类
查找用于查找信息页面选项卡集的选项卡委派。
下图说明了上面列出的一些更重要的组件的关系:
用户能够查看信息页面的选项卡包括操作模型 XML 定义的操作、站点管理员创建的任何选项卡、组织管理员创建的任何选项卡以及用户创建的任何选项卡。需要注意的是,信息选项卡链接到对象类型。即,如果为文档创建了“选项卡 A”,则“选项卡 A”将显示在每个文档信息页面上,但不会显示在其他对象类型 (即部件) 的信息页面上。
TabSetDelegate 的默认实现遵循以下算法,以确定要为给定信息页面显示哪些选项卡:
检索操作模型定义的选项卡
检索站点管理员针对对象类型定义的选项卡
检索用户的组织管理员针对对象类型定义的选项卡
检索用户针对对象类型定义的选项卡
此行为可通过编写您自己的 TabSetDelegate 来进行自定义。有关详细信息,请参阅通过实现自定义 TabSetDelegate 自定义选项卡
这对您有帮助吗?