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

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

java - XPages Controller 类-LMLPHP

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

可能的方法:

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

b)两个控制器类MyDocumentControllerA MyDocumentControllerB

c)等

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

预先感谢您的任何提示!

最佳答案

在那种情况下,您实际上可以抛弃BasicDocumentController并使用BasicXPageController。前者主要用于类似表单的XPage的简单情况,但是除了拥有几个对连接文档数据源有用的预制方法存根之外,它没有什么神奇之处。使用多个文档,您可以将private DominoDocument getDocA() { return (DominoDocument)ExtLibUtil.resolveVariable("docA"); }和另一个等效。

08-07 19:14