目前,我正在重新设计一个更大的应用程序。因此,在后端,我只想使用java
而不是javascript
,并且由于许多其他原因(更干净的代码,关注点分离等),我正在使用Jesse Gallagher的XPages Scaffolding项目(感谢他的工作)。
我真的很喜欢这个项目的controller classes
,但是我有一个问题
这种架构方法:
控制器类与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"); }
和另一个等效。