2012-03-23 89 views
1

我使用XPages和jquery mobile创建了一个页面。 我传入了页面参数的链接。使用XPage从url中检索参数

所生成的链接如下:

http://myserver/mydb.nsf/Test.xsp#subpage?parameter=B 

我用不同的方法来检索你得到的数据是试图将过去,却无法检索参数。

var exCon = facesContext.getExternalContext(); 
var request = exCon.getRequest(); // This is the actual HTTP servlet request... 
var paramValue = request.getParameter("parameter"); 
aaa = facesContext.getExternalContext().getRequest().getRequestURL(); 
bbb = facesContext.getExternalContext().getRequest().getRequestURI(); 
ccc = facesContext.getExternalContext().getRequest().getContextPath(); 
ddd = facesContext.getExternalContext().getRequest().getQueryString(); 
var url:XSPUrl; 
url = context.getUrl(); 
var tagname = url.getParameter('parameter'); 
prova = ddd.getParameter('parameter'); 
print("Request: " + request) 
print("URL2: " + url); 
print("URL: " + aaa); 
print("URL3: " + bbb); 
print("URL4: " + ccc); 
print("URL5: " + ddd); 
print("Parametro3 : " + prova); 
print("Parametro2 : " + tagname); 
print("Parametro: " + paramValue); 

做了一些与康寿调试我看到所显示的网址是:

http://myserver/mydb.nsf/Test.xsp 

如何获取参数的值?

回答

5

您是否尝试过使用param.get("parameter")了吗?

此外,#fragment应在parmeters后的URL的末尾,以便它看起来像

http://myserver/mydb.nsf/Test.xsp?parameter=B#subpage 
+0

好的,你说的是对的,手动输入链接,一切似乎工作。 如果我去使用网站上的链接没有得到任何结果,我没有首先被写入参数,我翻页#页。 网址是由:“参数= B#子页面?” HREF = 当然,如果你使用链接写为#subpage参数= B – Celeborn81 2012-03-26 12:41:14

2

的URL的每一个片段后,包括hashtag不会与HTTP请求被转移并不适用于服务器。

服务器只接收#之前的URL部分,这就是为什么你永远不会得到这个信息。将数据发送到服务器的方法有多种: 您可以添加隐藏字段,也可以在hashtag之前将它们追加到URL(并通过External Context访问它们)f.e. http://myserver/dB.nsf/test.xsp/subpage/b/

0

你不能使用服务器的请求的散列部。