在服务器上添加重定向规则后读取传入的URL

时间:2014-06-11 08:27:39

标签: xpages lotus-domino

我在domino服务器上添加了一个重定向规则,如下所示:

Incoming URL pattern: /xxx/*
Replacement pattern: /myDb.nsf/myXpage.xsp

如何从xpage中读取浏览器中的传入URL?

如果我打开此网址:

"http://myDomain/xxx/test"

然后我被重定向到我的xpage,如果我做了context.getUrl()我得到了

"http://myDomain/myDb.nsf/myXpage.xsp"

但是有没有选项来读取传入的网址?

"http://myDomain/xxx/test"

3 个答案:

答案 0 :(得分:1)

浏览器仍然可以获取原始URL,因此您可以将以下内容放在Client JS事件中,onClientLoad将用户重定向到具有正确url参数的XPage以正确提供url参数吗?

mystring = window.location.href;
var rightback = mystring.substring(mystring.lastIndexOf("/")+1,mystring.length);
window.location.href = "/test.nsf/testurl1.xsp?openxpage&id=" + rightback;

答案 1 :(得分:1)

您可以将替换模式更改为

/myDb.nsf/myXpage.xsp/xxx/*

这允许您使用

访问 .xsp 和查询参数之间的部分
facesContext.getExternalContext().getRequestPathInfo()

F.e。

"http://myDomain/xxx/test"

会给你

"/xxx/test"

答案 2 :(得分:0)

将重定向规则更改为包含*:

Incoming URL pattern: /xxx/*
Replacement pattern: /myDb.nsf/myXpage.xsp?id=*

这样您就可以使用param.get("id")在XPage中阅读网址的*部分,然后使用该变量查找并打开相关文档。