У меня проблема с этими двумя commandButton : Join и Leave.
Я хочу скрыть «Присоединиться», если я нажму «Выйти», и наоборот.
Когда я ставлю ajax на false, проблем нет (но вся страница обновляется, и я не считаю это оптимальным).
Но когда атрибут ajax имеет значение true с определенным обновлением (см. комментарий в коде), рендеринг хороший, но новая кнопка, которая появляется, становится неактивной. Если я нажму на него, ничего не произойдет (ну, похоже, это триггер actionListener, но представление не обновляется, мне нужно обновить вручную, чтобы увидеть разницу)
Спасибо за прочтение.
<h:form id="formWaitingList" rendered="#{connexion.connected}" >
<p:commandButton id="Join"
actionListener = "#{connexion.joinWaitingList()}"
rendered="#{!connexion.waiting}"
ajax="false"
<!-- ajax="true"
update="Join,Leave"-->
value="Join"/>
<p:commandButton id="Leave"
value="Leave"
ajax="false"
<!-- ajax="true"
udpate="Join,Leave"-->
rendered="#{connexion.waiting}"
actionListener ="#{connexion.leaveWaitingList()}" />
</h:form>
buttons
с rendered=false не появляется в сгенерированном html-коде, поэтому вы не можете обновить их напрямую. - person danRod   schedule 07.07.2013