XPages 控制器 类

XPages Controller Classes

目前我正在重新设计一个更大的应用程序。在后端,我只想使用 java 而不是 javascript,因此,出于许多其他原因(更清晰的代码、关注点分离等),我正在使用来自 XPages Scaffolding 的项目Jesse Gallagher(感谢他的工作)。

我很喜欢这个项目controller classes,但是我有一个问题 对于这种架构方法:

控制器 class 与 xpage (.xsp) 具有一对一的连接。在 BasicDocumentController class 中,以下方法 protected DominoDocument getDoc() 负责获取相应的数据源 (DominoDocument),但是 - 这是我的挑战 - 我在一个 xpage 中有多个数据源。

可能的方法:

a) 覆盖 MyDocumentController 中的 getDoc() 方法(仅对一个数据源有意义)

b) 两个控制器 classes MyDocumentControllerA MyDocumentControllerB?

c) 等等

处理此要求的适当方法是什么?

提前感谢您的任何提示!

在那种情况下,您真的可以放弃 BasicDocumentController 并使用 BasicXPageController。前者主要用于类似 XPage 的表单的简单情况,但除了有几个可用于连接到文档数据源的预制方法存根之外,没有什么太神奇的了。通过使用多个文档,您可以制作 private DominoDocument getDocA() { return (DominoDocument)ExtLibUtil.resolveVariable("docA"); } 和另一个的等价物。