Поскольку ваш атрибут update
, скорее всего, указывает на недопустимый идентификатор клиента.Если вы обратили внимание на журналы сервера, то вы должны были увидеть что-то вроде следующего от PrimeFaces:
INFO: Cannot find component with identifier "EditDetailsForm:EditDetailsPanel" in view.
Поскольку <p:panel>
находится внутри того же родителя UINamingContainer
, что исам <p:commandButton>
(по крайней мере, на основе кода, который вы опубликовали до сих пор), вы можете просто указать его относительный идентификатор клиента:
<p:commandButton value="Submit" update="EditDetailsPanel"/>
Или, если вы настаиваете на указании абсолютного идентификатора клиента, затем вам нужно добавить префикс :
:
<p:commandButton value="Submit" update=":EditDetailsForm:EditDetailsPanel"/>
Обратите внимание, что это работает, только если <h:form>
сам по себе не имеет другого UINamingContainer
родителя.Откройте страницу в браузере, щелкните правой кнопкой мыши и Просмотр источника , чтобы вычислить сгенерированный идентификатор элемента HTML.Наконец, вам нужно принять это значение с префиксом :
.