构建 NotesDocument 类型的 XPage
前一节中我们创建了一个简单的 Domino View XPage,它允许我们在个人地址簿应用程序中阅读和分页 Domino 数据。本节我们将创建一个简单的 Domino Document XPage,用来呈现单个的 NotesDocument 内容以及发起基于 XPage 的用户界面与 Domino 数据之间的功能交互,在 Domino View XPage 和 Domino Document XPage 之间创建一个链接。
Domino Document 数据源
我们首先创建一个新的叫做 Person 的 XPage,以开始构建 NotesDocument XPage,用来从 Contacts XPage 呈现 NotesDocuments。遵循在 Contacts XPage 上创建 viewPanel 时相同的 Define Data Source 窗口提示,马上定义一个 Document 数据源。
图 22. Define data source 窗口 —— Domino document
当选择 Domino Document 时,注意针对 NotesDocument 的创建、修改和只读呈现,分别提供了不同的选项集合。将数据源名称更改为 Person,选择 Person Domino 表单设计元素,并将 Create
document 选项更改为 Open document。
一旦从数据源窗口更改了这些选项并选择 OK,就会在 Data 面板中看到匹配 person 表单的 NotesItems 的所有数据源对象。该选项让我们可以包含来自 people
XPage 中 NotesDocument 的任何 NotesItem 值。
XPage 数据对象表
对于本例来说,保持 people XPage 相对简单,最初只包含以下数据源对象:
- FirstName
- LastName
- MailAddress
- OfficePhoneNumber
- CompanyName
- Categories
选择以上数据源对象,并使用它们来填充 Person XPage,通过拖放的方式创建一个 XPage 数据对象表。XPage 数据对象表对于 NotesDocument,就像 XPage viewPanel 对于 NotesView,并且为所添加的每一个数据源对象呈现一个“标签和编辑框”控件组合(参见图 23)。
图 23. XPage 数据对象表示例
跟 XPage viewPanel 一样,表行最初是按字母顺序列出的,需要按照更标准、更具逻辑性的顺序重新排列。同样,跟 viewPanel 中一样,这很容易在 Source 视图中或者通过 Outline 面板做到。
重新排列表行之后,添加一个 Edit 按钮控件,以便可以在 XPage-rendered NotesDocument 的只读和可编辑状态之间切换。要对只读和可编辑状态使用同一个 XPage,可修改按钮控件的动作及其标签。
向 XPage 数据对象表添加按钮控件
至此,通过拖放功能,为 viewPanels 和 Tables 创建了 XPage 数据对象,其实一直关注的都是 Data 面板。但是,Control 面板(位于 Domino Designer on Eclipse 默认 Eclipse 透视图中 Data 面板旁边的右侧栏面板上),包含各种用于 XPages 中可用的内容管理功能的控件。从 Control 面板,或者从 Create\Other Menu 选项,向表单添加一个简单的按钮控件。一旦添加到 XPage,我们就可以通过按钮控件属性来编辑按钮控件的标签及其功能参数(参见图 24)。
图 24. 按钮控件对象属性
如图 24 所示,从这里可以更改按钮控件实例名、标签和按钮类型。对于本教程,将按钮控件更改为一个 submit 按钮,更改它的名称、标签及按钮类型,以满足自己的特定需要。
使用 Person XPage
通过在 viewPanel 中设置 view 属性(参见图 25),再一次对 contacts XPage 进行一项首选项修改,以允许它利用 person XPage 呈现 NotesDocument 请求。
图 25. viewPanel view 属性
通过将 pageName 选项(名为 At runtime, open selected
document using)设置为 Person,现在可以看到 person XPage 发挥作用了。为此,只要打开 contacts XPage,并在特定于想要打开的 NotesDocument 的 name viewColumn 中的值上点击即可(参见图 26)。
图 26. 针对 NotesDocument 编辑模式呈现的 Person XPage
现在已经可以用编辑模式在 XPages 中打开 NotesDocuments 了,下面就来为 person XPage 配置提交后的重定向。在非 XPages Domino Web 开发中,这通常通过 $$Return 预留 FIELD 来处理。但是,该功能可直接从 person XPage 首选项进行配置,如图 27 所示。
图 27. XPage submission
redirection 选项
通过设置 navigationRules 首选项,在成功提交或取消时重定向到 contacts XPage,现在具有了联系人导航和 person NotesDocument 管理的功能完善的 XPages 表示。但是 XPage 功能的这个例子实际上回避了这样一个问题:“现在我可以用常规 Domino Web 开发做到这一点,为何还要选择使用 XPages 呢?”下一节将会回答这个问题。
|