[RESOLVIDO]VRAPTOR - Erro ao redirecionar para tela de edição

8 respostas
C

Estou com o seguinte problema… estou tentando salvar a edição de uma ordem de serviço… e depois que salvar carregar ela novamente… redirecionando para a tela de cadastro onde estava…
mas simplesmente não funciona…
tentei com result.redirect, result.forward… usando endereço como string e pelo metodo da classe… mas de todas as formas da erro…
faço a mesma coisa na tela de adição, primeira cadastro… “cadastro a os e redireciono para a edição dela” e funciona…
mas se eu salvo a edição e tento voltar pra edição não tem jeito… será que alguém consegue me ajudar?

a única diferença que vejo… é que na edição o método e put… e na adição é post… será que é por isso?
e alguém sabe como posso contornar isto?

abraço!

8 Respostas

Lucas_Cavalcanti

qual é o erro que está dando?

C
HTTP Status 404 - /MecanicaWeb/os/

type Status report

message /MecanicaWeb/os/

description The requested resource is not available.

Apache Tomcat/7.0.37

aparece esta mensagem no navegador..

estou fazendo isto:
result.redirectTo(this).edita(id);

no metodo adicionar que é post.. funciona..
no metodo alterar que é put, não funciona.. será que é por isso?

Lucas_Cavalcanti

esse id que vc está redirecionando, ele está preenchido?

C

sim, esta… se dou print nele fica certinho…

Lucas_Cavalcanti

posta aí a assinatura do método edita, com as anotações em cima, por favor.

C

segue abaixo:

@Get
	@Path("/os/{id}")
	public Os edita(Long id) {
		return  new OsRegras(userSession.getBanco(), validator).carrega(id);

	}

	@Put
	@Path("/os/{os.id}")
	public void altera(Os os, Long id) {
		new OsRegras(userSession.getBanco()).altera(os);

		result.redirectTo(this).edita(id);

	}
Lucas_Cavalcanti

o que parece é que o id tá nulo…

faça

@Put  
@Path("/os/{os.id}")  
public void altera(Os os, Long id) {  
    if (id == null) throw new AssertionError();

    new OsRegras(userSession.getBanco()).altera(os);  
  
    result.redirectTo(this).edita(id);  
  
}
C

Nossa, deu certo agora… O id realmente estava null…
Mas eu pensei ter testado isto, nem acredito… que erro meu hehehe
em resumo, estou usando os.id agora para redirecionar

obrigado cara, abraço!

Criado 16 de julho de 2013
Ultima resposta 19 de jul. de 2013
Respostas 8
Participantes 2