View e SessionScope

2 respostas
cleitonmoura18
Tenho este metodo.
@Get("teste/criar")
	public void criarTeste() {
		if (usuarioLogado.getTeste() == null)
			this.usuarioLogado.setTeste(new Teste());
		
	}
na view possui isto.
<form id="teste_Form" action="${pageContext.request.contextPath}/teste/criar/passo1" method="post">
  
Titulo:
    <input type="text" name="usuarioLogado.teste.titulo" value="${usuarioLogado.teste.titulo}" id="teste_titulo"/>
    <button type="submit">send</button>
    </div>
</form>
ele recebe os dados da session, mas quando é pra alterar não altera. na outra action chamada tem.
@Post("teste/criar/passo1")
	public void passo1() {
		System.out.println(usuarioLogado.getTeste().getTitulo());
	}
Eu gostaria de saber se so altera os dados da session se passar como parametro. ou era pra alterar?

2 Respostas

Lucas_Cavalcanti

não dá pra setar coisas de dentro de um @SessionScoped usando form parameters. Se isso funcionasse, seria bem fácil se logar em qualquer app do vraptor :wink:

vc precisa fazer isso no controller. Mude seu input pra:

<input type="text" name="teste.titulo" value="${usuarioLogado.teste.titulo}" id="teste_titulo"/>

e o controller pra:

@Post("teste/criar/passo1")  
public void passo1(Teste teste) { 
   usuarioLogado.setTeste(teste); 
   System.out.println(usuarioLogado.getTeste().getTitulo());  
}
cleitonmoura18

Muito obrigado pela atenção.

Criado 22 de fevereiro de 2012
Ultima resposta 22 de fev. de 2012
Respostas 2
Participantes 2