JSF: кнопка / ссылка без отправки формы - PullRequest
0 голосов
/ 21 июля 2011

В более ранних проектах я часто использовал ссылку s: button или s: из Seam 2 при размещении чего-либо, потому что он не отправлял форму и, следовательно, обновления модели не происходили.

Теперь я переключился на WELD+ Шов 3 и больше не могу его там найти - я просто слепой или мне нужно что-то еще использовать?

Гезифер

Ответы [ 2 ]

5 голосов
/ 28 июля 2011

Вы можете сделать это в простом JSF 2.0, установив атрибут immediate в true в h:commandButton.

Из вики MyFaces:

Непосредственный атрибут может использоваться для достижения следующих эффектов:

Разрешить commandLink или commandButton для навигации пользователя к другая страница без обработки каких-либо данных в настоящее время в полях ввода текущий экран. В частности, это позволяет осуществлять навигацию даже когда в настоящее время есть ошибки проверки. Кнопка "отмена" как правило, попадает в эту категорию.

Разрешить commandLink или commandButton для запуска внутренней логики игнорируя при этом проверку некоторых полей на экране. это это более общая версия вышеприведенного пункта.

Сделать один или несколько входных компонентов «высоким приоритетом» для проверки, так что если какие-либо из них являются недействительными, проверка не выполняется для любых «низкоприоритетных» компонентов ввода на одной странице. Это может уменьшите количество отображаемых сообщений об ошибках.

0 голосов
/ 21 июля 2011

Я нашел способ справиться с этим, используя commandButton из RichFaces 4 и установив bypassUpdates в true:

<a4j:commandButton value="Cancel" action="#{myHandler.cancel}"
bypassUpdates="true" render="myTable" />

Для меня это решение нормально, так как я уже использую RichFaces 4 - но мне все еще интересно, как решить эту проблему с помощью стандартного JSF 2.0?

...