Galera tô com dificuldade em criar o método para editar dados...
@Path("/usuario/{usuario.login}")@Putpublicvoidaltera(Usuariousuario,Stringlogin){if(usuario.getNome().length()<3||usuario.getNome()==null){validator.add(newValidationMessage("O campo Nome é obrigatório e precisa ter mais de 3 caracteres","usuario.nome"));}if(usuario.getLogin().length()<5||usuario.getLogin().length()>10||usuario.getLogin()==null){validator.add(newValidationMessage("O campo Login é obrigatório e precisa ter entre 5 e 10 caracteres","usuario.login"));}if(usuario.getSenha().length()<5||usuario.getSenha().length()>10||usuario.getSenha()==null){validator.add(newValidationMessage("O campo Senha é obrigatório e precisa ter entre 5 e 10 caracteres","usuario.senha"));}validator.onErrorUse(Results.page()).of(UsuarioController.class).edita();dao.atualiza(usuario);result.redirectTo(UsuarioController.class).lista();}
Load, você carrega os dados , ai no merge você atualiza
#/* # * GenericDAO.java # * # * Created on 22 de Abril de 2007, 16:15 # * # * To change this template, choose Tools | Template Manager # * and open the template in the editor. # */##packagespsv02.persistencias;#importjava.io.Serializable;#importjava.sql.Connection;#importjava.sql.SQLException;#importjava.util.List;#importjavax.swing.JOptionPane;#importorg.hibernate.*;#importorg.hibernate.criterion.Order;#importorg.hibernate.stat.SessionStatistics;#/** # * # * @author Rogerio MQ # */#publicclassGenericDAO#{#privatestaticSessionsessao;#privateTransactiontransacao;##/** Creates a new instance of GenericDAO */##publicvoidobjInserir(Objectobj)throwsException#{#sessao=HibernateUtil.#transacao=sessao.beginTransaction();#sessao.save(obj);#sessao.flush();#transacao.commit();#sessao.close();#}##publicvoidobjAlterar(Objectobj)throwsException#{#sessao=HibernateUtil.getSession();#transacao=sessao.beginTransaction();##sessao.update(obj);#sessao.flush();#transacao.commit();#sessao.close();##}##publicvoidobjDeletar(Objectobj)throwsException#{#sessao=HibernateUtil.getSession();#transacao=sessao.beginTransaction();##sessao.delete(obj);#sessao.flush();#transacao.commit();#sessao.close();##}##publicListlistar(Classclazz)throwsException#{#sessao=HibernateUtil.getSession();#transacao=sessao.beginTransaction();##Listobjts;#objts=null;#CriteriaselectAll=sessao.createCriteria(clazz);#transacao.commit();#objts=selectAll.list();#sessao.close();#returnobjts;#}##publicObjectlistar(Classclazz,Stringpk)throwsException#{#sessao=HibernateUtil.getSession();#transacao=sessao.beginTransaction();#Fornecedorobjt=(Fornecedor)sessao.load(clazz,newInteger(Integer.parseInt(pk)));#transacao.commit();#sessao.flush();#sessao.close();#returnobjt;#}###publicvoidrollBack()#{#transacao.rollback();#sessao.close();#}##publicvoidcloseConnection()throwsException#{#sessao=HibernateUtil.getSession();#sessao.connection().createStatement().execute("SHUTDOWN");#}##}
Ramon.Onix
JuniorSatanas, meu Dao, está assim [como está o citado por vc]:
O resultado de %7Busuario.login%7D é {usuario.login}.
Em que momento há essa tal troca que você citou? Essa troca é na URL após algum redirecionamento ou esse valor está em algum dos parametros do método?
Cerveja bem garcia-jj [tem q ter bom humor nessas horas de angustia, aff…], na hr em que eu clico no botão alterar, se der erro ele deve me retornar a propria página edita.jsp, qnd ele me faz esse retorno o login já foi modificado pra isso dai.
@Path("/usuario/{usuario.login}")
@Put
public void altera(Usuario usuario) {
if (usuario.getNome().length() < 3 || usuario.getNome() == null) {
validator.add(new ValidationMessage(
"O campo Nome é obrigatório e precisa ter mais de 3 caracteres", "usuario.nome"));
}
if (usuario.getSenha().length() < 5 || usuario.getSenha().length() > 10 || usuario.getSenha() == null) {
validator.add(new ValidationMessage(
"O campo Senha é obrigatório e precisa ter entre 5 e 10 caracteres", "usuario.senha"));
}
validator.onErrorUse(Results.page()).of(UsuarioController.class).edita();
dao.altera(usuario);
result.redirectTo(UsuarioController.class).lista();
}
Lucas, Muito obrigado… caraca um erro besta da merda, falta de atenção…
desculpa aew!
agora rodou de boa!
vlw.
Obrigado tbm garcia-jj!
G
garcia-jj
Esses pequenos erros de ortografia são muito complicados de ver. As vezes você vicia no código e não nota essas coisinhas. Basta alguém que está de fora para ver isso, hehehehe.
Abraços
Ramon.Onix
garcia-jj:
Esses pequenos erros de ortografia são muito complicados de ver. As vezes você vicia no código e não nota essas coisinhas. Basta alguém que está de fora para ver isso, hehehehe.
Abraços
é mas…
Atenção… Este é o elemento adversário, que por falta dele, constantemente ameaça destruir seus códigos!
assim já dizia: Ramon.Onix.