2012-03-23 2 views
1

Я создал страницу с XPages и jQuery mobile. Я передал ссылку на параметр страницы.Извлечь параметры из URL с XPages

Связь, которая генерируется следующим образом:

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); 

Выполнение немного отладки с Consol я увидел, что URL-адрес, который показан:

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

Как получить значение параметра?

ответ

5

Вы еще не пробовали использовать param.get("parameter")?

Кроме того, #fragment должен быть в конце URL после parmeters так он будет выглядеть

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

ОК, что вы говорите, правильно, набрав ссылку вручную, все работает. Если я пойду использовать ссылку на веб-сайте, не получаю никаких результатов, я перейду на страницу # без предварительного ввода параметра. url составлен: href = "? Parameter = b # subpage" Конечно, если вы используете , ссылка написана как #subpage? Parameter = b – Celeborn81

2

Каждый фрагмент URL после хэштегом не будут переданы с запросом HTTP и недоступен для сервера.

Сервер получает только часть URL перед #, поэтому вы никогда не получите эту информацию. Существуют разные способы отправки данных на сервер: Вы можете добавить скрытое поле или просто добавить их в URL до хэштега (и получить доступ к ним через внешний контекст), f.e. http://myserver/dB.nsf/test.xsp/subpage/b/

0

Вы не можете попасть в хэш-часть, используя серверные запросы.