XPages中的友好URL

时间:2016-09-29 20:41:05

标签: xpages url-routing

为了打开带有XPages的文档,我们必须使用以下格式调用url: http://server/database/name_of_xpage.xsp&documentID=xxxx

在我的一个数据库中,要打开的文档包含“标题”字段。 我想使用这样的网址打开文档:http://server/database/title_value

如何强制多米诺骨牌服务器回答这样的网址并打开相关的XPage(就像它在stackoverflow网站上工作一样)

3 个答案:

答案 0 :(得分:0)

您可以创建一个XAgent(我称之为“打开”),并使用较小的参数来打开文档。例如,假设您的主要XPage“表单”称为“xpDoc”。这是您的XAgent(afterRenderResponse中的代码):

var val = context.getUrlParameter('title');
var nd:NotesDocument = database.getView('viewname').getDocumentByKey(val);
context.redirectToPage('xpDoc.xsp?documentId=' + nd.getUniversalID() + '?OpenDocument');

因此,使用这个简单的XAgent,您可以使用URL打开文档,如下所示:

http://server/database/open.xsp?title=title_value

我刚刚在我拥有的开发数据库中尝试过它,它看起来效果很好。您始终可以将XAgent名称和“标题”参数设置得更小,以使链接更小。

请注意,使用此选项,您无需使用任何网站规则更新NAB。由于您要链接到文档,我假设您的应用程序中包含多个文档。我不认为在NAB中添加网站规则会是一个不错的选择,因为这会增加很多额外的维护。使用上述方法,可以在您的应用程序中完成所有操作。

答案 1 :(得分:0)

Here is an example创建网站替换规则以将http://server/database/ *重定向到 http://server/database/yourxpage.xsp?openPage= *

答案 2 :(得分:0)

选项很少:

  • 管理解决方案 - 您可以将Domino配置为在服务器级别转换URL
  • XAgent,表单打开脚本,LotusScript代理 - 重定向到正确的URL
  • 表单属性以重定向到XPage,如下所述。

您只需要使用简称或别名制作视图," key"例如。第一个排序列应包含您的键值。每个文档的表单属性应定义XPage在Web上打开。那么这个http://server/database/key/title_value的网址就可以了。 With one small caveat