Seguindo a documentacao, encapsulei meu objeto de sessão em um wrapper com @SessionScoped. Estou passando-o no construtor para um controller e recupero-o com sucesso pelo bom e velho System.out.println(). Porém quero exibir um valor dele na view. Como faco isso?
Ele é incluido na sessao desta forma:
@Post
public void logar(Usuario usuario) {
this.usuario = this.daoFactory.getUsuarioDao()
.obtemAutenticado(usuario);
if (this.usuario == null) {
// aqui vai meu objeto de sessao
this.usuarioAutenticado.setUsuarioAutenticado(null);
result.use(Results.logic()).redirectTo(AdminController.class)
.login();
} else {
this.usuarioAutenticado.setUsuarioAutenticado(this.usuario);
result.use(Results.logic()).redirectTo(MenuController.class).menu();
}
}
Recupero-o no meu ‘menu’ sem problemas:
public MenuController(UsuarioAutenticadoSession usuarioAutenticado) {
super();
this.usuarioAutenticado = usuarioAutenticado;
System.out.println(this.usuarioAutenticado.getUsuarioAutenticado()
.getLogin());
}
Só que eu quero exibi-lo no jsp. Estou fazendo assim, sem sucesso:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>Funcionando!<input type="text"
name="usuarioautenticado.usuario.login"
value="${usuarioAutenticado.usuario.login}" /></h1>
</body>
</html>
Este é o Wrapper:
@Component
@SessionScoped
public class UsuarioAutenticadoSession implements Serializable {
private static final long serialVersionUID = 1L;
private Usuario usuarioAutenticado;
public Usuario getUsuarioAutenticado() {
return usuarioAutenticado;
}
public void setUsuarioAutenticado(Usuario usuarioAutenticado) {
this.usuarioAutenticado = usuarioAutenticado;
}
}
pois, o usuarioautenticado possui o getter no MenuController. Já tentei com outros cases para ${usuarioAutenticado.usuario.login}, ${usuarioautenticado.usuario.login}, etc mas nada feito… Ele vem vazio… Alguma ideia?

