2012-03-23 106 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

你不能使用服務器的請求的散列部。