Это ожидаемое поведение. PrimeFaces (и стандартный JSF) не переоценивает атрибуты update
(и render
, oncomplete
и т. Д.) Для каждого запроса. Они оцениваются на основе просмотра. Например, RichFaces делает это в своем <a4j:ajax>
и выдает точно ожидаемое поведение.
Для PrimeFaces лучше всего удалить атрибут update
и использовать вместо него RequestContext#addPartialUpdateTarget()
или #addPartialUpdateTargets()
в методе действия.
1012 * Е.Г. *
RequestContext.getCurrentInstance().addPartialUpdateTargets(updateComponentList);
Требуется Collection<String>
, например List<String>
или Set<String>
.
Кстати, это event="change"
не нужно. Просто используйте событие компонента по умолчанию.
Обновление для пользователей более новой версии PrimeFaces, которые читают этот ответ позже и не могут найти вышеупомянутые методы, которые действительно удалены в более новой версии PrimeFaces; используйте вместо этого один из двух методов update()
(один принимает String
, а другой - Collection<String>
).
RequestContext.getCurrentInstance().update(updateComponentList);