Tenho dois forms, um com uma lista de Tabelas na qual é selecionado um objeto e carregado no segundo formulário.
Preciso salvar (com Hibernate) os dados do segundo formulário porém no meu bean o objeto não atualiza com os dados do formulário.
<!-- Formulário apenas com a relação de Tabelas -->
<h:form id="tarifasCadastradas">
<h:outputLabel for="tarifas" value="Tarifas cadastradas: " style="width:20%" />
<h:selectOneMenu
id="tarifas"
value="#{tarifaBean.item}"
style="width:80%"
valueChangeListener="#{tarifaBean.tarifaChanged}"
immediate="true" >
<f:selectItems var="tarifa" id="tarifa" value="#{tarifaBean.listaTarifas}" />
<a4j:support event="onchange" reRender="formTeste" />
<f:converter converterId="ConverterTarifa" />
</h:selectOneMenu>
</h:form>
<!-- Formulário com os dados da Tabela selecionada -->
<a4j:form requestDelay="20" ignoreDupResponses="true" id="formTeste">
<h:outputLabel for="nome" value="Nome da Tarifa"/>
<h:inputText id="nomeTabela" size="30" value="#{tarifaBean.item.nome}" style="width:100%" >
<rich:ajaxValidator event="onblur"/>
</h:inputText>
<rich:message for="nome" style="color:red" globalOnly="false"/>
<!-- Quando esse Action é acionada não tem nada no objeto do bean -->
<a4j:commandButton
value="Salvar Tarifa"
title="Salvar esse cadastro"
ajaxSingle="false"
immediate="true"
actionListener="#{tarifaBean.salvar}" />
</a4j:form>
// Aqui mostra corretamente a propriedade do item selecionado
public void tarifaChanged(ValueChangeEvent e) {
item = (Tarifa) e.getNewValue();
setItem(item);
if (item.getId() == 0) {
item.setDataCadastro(new Date());
}
System.out.println("Nome da Tarifa: "+item.getNome());
}
// Aqui nao mostrada nada na mesma propriedade do item selecionado
public void salvar(ActionEvent event) {
System.out.println("== SALVAR DADOS COM HIBERNATE ");
System.out.println("Nome Tabela: "+item.getNome());
}
Onde estou fazendo algo errado? Aparentemente no formulário mas não ainda não descobri o que pode ser, já tentei de tudo que aprendi até agora e nada, no Action salvar nunca imprime o nome da Tabela supostamente selecionada.
Agradeço qualquer dica!