Я цитирую из этот ответ :
Когда компонент
UICommand
не может вызвать связанное действие, проверьте следующее:
Компоненты UICommand
должны быть размещены внутри компонентаUIForm
(например,h: form
).- Вы не можете вложить несколько компонентов
UIForm
друг в друга (будьте осторожны с включаемыми файлами!).- Никакой ошибки проверки / преобразования не должно быть (используйте
h: messages
, чтобы получить их все).- Если компоненты
UICommand
размещены внутри компонентаUIData
, убедитесь, что точно такой жеDataModel
(объект, стоящий заUIData
' sзначение
атрибута) сохраняется.- Атрибуты
обработанных
иотключенных
компонента и всех родительских компонентов не должны оцениваться какfalse
на этапе применения значений запроса.- Убедитесь, что ни
PhaseListener
, ни какой-либоEventListener
в цепочке запрос-ответ не изменили жизненный цикл JSF, пропустив этап вызова действия.- Убедитесь, что никакой
Фильтр
илиСервлет
в той же цепочке запрос-ответ каким-то образом не заблокировал запрос кFacesServlet
.
Другой причиной может быть то, что вы запускаете не тот код, который, как вы думаете, запускаете.
Обычно это означает, что на странице есть ошибки проверки. Попробуйте установить Немедленное = "истина"
, чтобы устранить ошибки, или используйте
, чтобы показать возникшие ошибки.