0

我有一个 XPages 库数据库,其中创建了我的所有 XPage。从那里用户将访问其他数据库来完成他们的工作。

我需要将这些数据库的名称放在变量中,以便可以在任何服务器(开发、测试、生产等)上找到它们,因为名称总是相同的。我认为这些变量应该是 applicationScope 变量,但我不确定。

如果 applicationScope 在我需要的变量中,你能告诉我在哪里创建它们的最佳位置。

如果它不是正确的变量,哪种变量最好,我在哪里定义它们。

4

4 回答 4

4

部署一些静态引用的简单方法是xsp.properties文件。此文件允许添加可在服务器上的所有 XPages 应用程序上访问的变量

例如这个变量...

myproperty.test=Hello World

...可以通过这种方式在任何 XPage 中访问:

context.getProperty("myproperty.test")

这些属性也可以由主题设置。

但是该属性必须手动添加到任何服务器。

另一种方法是使用配置文件:这些可以通过复制机制轻松部署到任何服务器上的任何数据库。这些文档的值可以缓存在 applicationScope 变量中以获得更好的性能。

编辑:

您应该更改服务器上的XSP.properties文件,而不是特定于数据库的 One。这不需要设计器,只需要一个文本编辑器。

于 2013-01-11T12:54:37.977 回答
2

applicationScope变量会在内存中保留大约 10-15 分钟,然后被丢弃。如果我正确理解您的需求,您应该永久存储数据库名称或 URL,Notes 文档将是最适合的。

于 2013-01-11T12:51:07.780 回答
0

我认为因为您正在谈论像应用程序这样的门户,所以最好有一个设置文档实现。您必须创建一个管理 xpage,它将检查查找设置视图中是否存在某种类型的文档(当然,您必须自己创建)。如果没有创建文档。如果有一个使用文档作为数据源。

在此文档中,您可以存储有关要显示的应用程序的复制 ID 和服务器信息。这可以是一个带有多行文本字段的简单表单。数据可以以“Description$repid$server”之类的格式存储。在网络上,您必须检查此文档,使用重复阅读文档中的条目。对于每次迭代,您可以只使用 xp:link 标记。当然,您首先需要计算应用程序的 url,但这不是这里最大的问题。

于 2013-01-15T19:52:22.233 回答
0

将值放入 .properties 文件的缺点是您需要设计器客户端进行更改。我建议为您的应用程序使用全局配置文档,该文档可以在客户端或使用 XPage 进行编辑。看看 Paul Withers 的 xhelp 应用程序。深入研究代码以了解如何在应用程序中使用配置文档。XHelp 可以从这里下载http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&documentId=426CB81230B6F94A8625789000830762

于 2013-01-11T15:51:02.923 回答