EL expressão dentro de p: commandButton onclick não atualiza / re-renderiza na solicitação ajax?

Oonclick atributo do meucommandButton possui algum Javascript dependente de EL dentro. Para ser mais específico, aqui está o código:

<p:commandButton
    onclick="javascript: if('#{userBean.user.friendList.size() gt 0}' == 'true') deleteFriendsConfirmDialog.show(); else friendsAlreadyDeletedErrorDialog.show();"
    value="Delete all friends?" />

deleteFriendsConfirmDialog limpa a lista de amigos e atualiza o@form. A lista de amigos, commandButton e as caixas de diálogo estão todos nessa form

Então clico no botão, a caixa de diálogo de confirmação aparece (porque o comprimento da lista de amigos é gt 0), confirmo e a lista é esvaziada, a exibição é atualizada. No entanto, quando clico no botãoDelete all friends? mais uma vez, a caixa de diálogo de confirmação será exibida novamente. Como o comprimento da lista agora é 0, espero que a caixa de diálogo de erro seja exibid

Isso, eu acho, é porque o Javascript escrito dentro deonclick não é atualizado (embora o botão esteja no formulário

Editar Alterando#{userBean.user.friendList.size() gt 0} para#{not empty userBean.user.friendList} também não funcion

Por quê? O que há de errado aqui?

Qualquer ajuda apreciada. :)

questionAnswers(1)

yourAnswerToTheQuestion