JSF: нежелательное обновление страницы при вызове действия - PullRequest
1 голос
/ 20 мая 2011

Иногда, если я нажимаю commandButton, который вызывает метод действия, он просто обновляет страницу, фактически не вызывая метод!

Я установил точку останова в этом методе, и если такое поведение имеет место, метод не вызывается. Что также странно в этом: Это также делает это, если я не заполнил значения во входных компонентах, которые имеют «required = true». Я ожидаю, что появится ошибка оценки. Ошибка появляется только в том случае, если метод действия будет вызван нормально. Но не в том случае, если он просто выдаст это странное обновление страницы.

Вызов выглядит вполне нормально и работает в большинстве случаев:

<h:commandButton value="Do something"  
                    action="#{bean.doSomething(someBean.value)}" />  

Я не могу точно определить, когда это поведение появляется (а когда нет), но оно должно иметь какое-то отношение к значениям, выбранным в некоторых других компонентах. Но ... как?

(У меня есть две формы в файле xhtml. Я просто упоминаю об этом, потому что не знаю, важно это или нет. Однако вложенных форм нет, а h: messages ничего не отображает после обновления страницы.)

Я использую JSF 2 (MyFaces) + Томагавк.

1 Ответ

0 голосов
/ 20 мая 2011

нет вложенных форм и h: сообщения ничего не отображают после обновления страницы

Вероятно, у вас есть атрибут rendered для компонента или одного изего родители, которые оценили false во время обработки формы, отправляют запрос.Вы должны убедиться, что он оценивает так же, как и при отображении страницы.Это можно сделать, поместив компонент, ответственный за это, в область представления вместо области запроса.

См. Также:

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