Boa Tarde!
Estou fazendo um CRUD com JSF, JPA e Primefaces.
Estou também no Eclipse com Java 7.
Tenho uma tela de consulta com um botão de alteração que leva para um outro form de alteração,
não estou usando Dialog.
Chamo o Form desta forma:
p:commandButton icon=“ui-icon-pencil” action=“departamento?faces-redirect=true”>
f:setPropertyActionListener value="#{departamento}" target="#{departamentoBean.departamento}" />
p:commandButton>
Funciona perfeito, carrega o form com os dados, eu altero e atualizo voltando para a tela de consulta em seguida.
O problema é que eu preciso fazer algumas validações antes de mostrar o formulario de alteração, e da forma como estou
chamando, eu debugei e ele vai direto para o form de alteração, não passa pelo meu ManagedBean, vai direto.
Tentei fazer a chamada assim:
p:commandButton icon=“ui-icon-pencil” action=“departamentoBean.editar”>
f:attribute name=“departamentoSelecionado” value="#{departamento}" />
/p:commandButton>
Mas aí acontece o seguinte, ele vai para o ManagedBean executa o código do Editar e fica parado lá, não vai para o form
de alteração. Alguém sabe me dizer o porque? o que estou fazendo de errado?
Meu ManagedBean:
public void alterar(ActionEvent evento) throws IOException {
departamento = (Departamento) evento.getComponent().getAttributes().get(“departamentoSelecionado”);
DepartamentoDao dao = new DepartamentoDao();
if (departamento.getDataAlteracao() == null)
departamento.setDataAlteracao(new Date());
}
}