如何在 ATG 中添加组件属性的简短描述。例如:如果我们在 Nucleus 组件中看到 loggingDebug 属性 简短描述将显示为True if debug log events should be generated
。如何在组件中为我的属性创建这样的描述>
2 回答
简单的答案:
您不能为单个属性添加描述。
$description
您可以通过在.properties
文件中指定 a 来为组件添加描述
更复杂的答案:
为了在dyn/admin
屏幕中查看,每个 Nucleus 组件都与一个Admin Servlet相关联。呈现管理屏幕(不是 JSP 或 JHTML 页面)的是组件的 Admin Servlet。
对于给定的组件,管理界面通过查询组件来确定用于呈现屏幕的管理 servlet。
ATG 将许多管理 servlet 与该平台打包在一起。默认值是ServiceAdminServlet
并且与GenericService
. 因此,从GenericService
您编写的大多数组件扩展而来的任何内容都会获得一个由 ServiceAdminServlet 呈现的管理屏幕。Repository 类有一个不同的类 - 这就是为什么存储库组件的管理屏幕看起来与大多数其他组件不同的原因。
您可以通过实现自己的AdminServlet
类并覆盖组件上的getAdminService()
方法(在AdminableService
接口中定义)以返回自定义管理 servlet 的实例,从而为组件实现自己的管理界面。
但是,GenericService
已经实现了接口,并提供了方便的可扩展钩子方法createAdminServlet()
,并且最好扩展ServiceAdminServlet
而不是从头创建自己的 AdminServlet。
该类ServiceAdminServlet
定义了一个printAdmin(...)
方法,您可以覆盖该方法以输出所需的自定义 HTML。
警告:
在我最初的答案中,我错过了更复杂的部分,因为我认为付出更多的努力却收获甚微。但是,我已经更新了我的答案以更完整。
自 1998 年以来,我一直非常亲力亲为地使用 ATG 平台,但我从来没有理由创建自己的管理界面。
我认为您需要的是创建 MyComponentBeanInfo.java。如果您查看 ATG_PATH\DAS\src\Java\atg\droplet 内部,将看到如下内容:Component.java和您的描述符ComponentBeanInfo.java。
我在 oracle docs 中进行了搜索,发现了这个链接:Oracle Docs: BeanInfo Example
在你的组件里面将是:
paramDescriptors[0] = new ParamDescriptor("myProperty",
"this is my short description",
DynamoServlet.class,
false, true, outputDescriptors);
beanDescriptor = new BeanDescriptor(MyComponent.class);
beanDescriptor.setShortDescription("A custom servlet bean.");
beanDescriptor.setValue("paramDescriptors", paramDescriptors);
beanDescriptor.setValue("componentCategory", "Servlet Beans");