Bom dia pessoal.
Bom estou com o seguinte problema. Em uma página tenho um h:commandButton, que uando clico ele
salva o conteudo de um h:inputTextArea.
<h:inputTextarea id="code" value="#{definicaoMB.conteudoDaDefinicao}" />
<h:commandButton value="Atualizar definição"
action="#{definicaoMB.salvar}" styleClass="link-contexto-menu">
</h:commandButton>
public String salvar() {
System.out.println(conteudoDaDefinicao);
con.setDefinition(new ByteArrayInputStream(conteudoDaDefinicao.getBytes()));
return "definicao";
}
Ate ai tudo funciona perfeitamente.
O problema é ue tenho que alterar o commandButton para um h:commandLink. E quando eu
faço a alteração ele executa o método salvar() sem que a variável conteudoDaDefinicao esteja atualizada.
Ou seja, ele esta salvando o valor inicial do h:inputTextArea ignorando as alterações que o usuário fez no texto.
<h:commandLink value="Atualizar Definição" action="#{definicaoMB.salvar}"
styleClass="link-contexto-menu" ></h:commandLink>
Baicamente oque acontece é que com o commandButton primeiro ele atualiza o valor da variavel e depois
exeuta o método, e com o commandLink ele executa primeiro o método.
Alguem sabe me dizer porque que com o h:commandButton o valor da variavel é o novo e
com o h:commandLink não?
Segundo achei na documentação eles deverião funcionar igual, apenas com a diferênça visual.
Alguem sabe me dizer como resolver isto?
Grato,
Filipe Damiani.