Проблема с простыми лицами, особенно p: commandButton - PullRequest
1 голос
/ 18 октября 2011

Сначала я разработал приложение JSF 2, используя RichFaces, а затем недавно перешел на Primefaces.

Все работает нормально, кроме:

  1. При нажатии на кнопкувызов update="id1, id2, etc", он не обновляет содержимое моей страницы.

  2. <p:commandButton value="Logout" action="#{profile.logout}" /> не работает, в методе выхода из системы я просто очищаю сеанс и возвращаюсь на страницу входа, но он остается ната же страница

Я использую Tomcat 6.0.32 в Windows 7 с 4 ГБ ОЗУ.Я использую PrimeFaces 2.2, последнюю стабильную сборку.

1 Ответ

1 голос
/ 18 октября 2011

При нажатии кнопки и вызове update = "id1, id2 и т. Д." Содержимое моей страницы не обновляется.

Вы должны предоставить больше контекста, прежде чем мы сможем дать ответ на этот вопрос. Мои первые предположения состоят в том, что вы должны удалить эти запятые (и разделять их только пробелами, как в стандартных JSF2 и RF4). Мое второе предположение заключается в том, что эти компоненты просто невозможно разрешить в текущем компоненте и иерархии NamingContainer. Моим третьим предположением будет то, что запрос ajax не вернул правильный ответ ajax (используйте Firebug, чтобы проверить его).


<p:commandButton value="Logout" action="#{profile.logout}" /> не работает, в методе выхода из системы я просто очищаю сеанс и возвращаюсь на страницу входа, но он остается на той же странице.

<p:commandButton> по умолчанию отправляет запрос ajax. Если вы хотите перейти к другому представлению в качестве ответа на ajax-запрос, вам нужно отправить перенаправление. Вы можете сделать это среди других, добавив параметр faces-redirect=true к результату:

return "login?faces-redirect=true";

Или, альтернативно, просто отключите ajax на кнопке:

<p:commandButton ... ajax="false" />

Или используйте вместо него стандартный <h:commandButton>:

<h:commandButton ... />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...