2015-07-07 4 views
0

Я запускаю приложение jsf2.2 и использую Primfaces с JAVA 1.6, я пытаюсь отключить функцию окна клиента, которая удаляет jfwid.Пожалуйста, предложите мне, как я могу справиться с этой проблемой.Как отключить функцию clientwindow в jsf 2.2

+0

Какой тип JSF имплантат/версия? Пробовал последние? Предыдущие версии Mojarra имели ошибку, в которой идентификатор потока/окна постоянно добавляется к результатам навигации, даже если приложение не использовало его нигде. – BalusC

+0

Я использую myfaces-2.2.8, primefaces-5.2, di также вижу disableClientWindow, установленный для true для кнопки p:, но не для p: commandButton, пожалуйста, предложите мне, если я что-то упустил, спасибо – user2593318

ответ

0

Я считаю, что функция ClientWindow отключена по умолчанию. Следующее JavaDoc детали поведения:

http://docs.oracle.com/javaee/7/api/javax/faces/lifecycle/ClientWindow.html#CLIENT_WINDOW_MODE_PARAM_NAME

Кроме того, я не знаю, почему disableClientWindow можно было бы ожидать от ара: CommandButton (ч: CommandButton), как это запрос POST, тогда р: кнопка (час:) будет GET-запрос.

Глядя на vld docs для h: commandButton, вы увидите, что атрибут disableClientWindow отсутствует, но на кнопке h: есть.

0

Я попытался отключить его для всех приложений на web.xml, но без каких-либо успехов. Я попытался следовать:

<context-param> 
     <param-name>javax.faces.lifecycle.ClientWindow.CLIENT_WINDOW_MODE_PARAM_NAME</param-name> 
     <param-value>none</param-value> 
</context-param> 

Единственный способ, который я получил его на работу использовал его кода перед перенаправлением, например:

FacesContext.getCurrentInstance().getExternalContext().getClientWindow().disableClientWindowRenderMode(FacesContext.getCurrentInstance()); 
return "/home?faces-redirect=true"; 

Или использовать его на собственную кнопку или ссылка:

<a jsf:disableClientWindow="true" target="_blank" jsf:outcome="go_to_anywhere?faces-redirect=true">GoToAnywhere</a> 
Смежные вопросы