Boa tarde Galera,
Estou fazendo a apostila fj-28, e estava tudo indo muito bem até eu chegar na autenticação de Usuário.
Estou salvando no banco, colcando ele na sessao através do usuarioWeb, porém na hora de chamar na header estou com essa exeption:
root cause
javax.el.PropertyNotFoundException: Property ‘nome’ not found on type br.com.goodbuy.model.UsuarioWeb
Meu fontes estão assim:
header
[code]
<c:if test="${usuarioWeb.logado }">
Olá, ${usuarioWeb.nome}
<a href="<c:url value="/logout"/>">Logout
</c:if>
<c:if test="${ empty usuarioWeb or not usuarioWeb.logado }">
Você não está logado. <a href="<c:url value="/login"/>">Login
<a href="<c:url value="/usuarios/novo"/>">Cadastre-se
</c:if>
</div>[/code]
UsuarioWeb
[code]package br.com.goodbuy.model;
import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.ioc.SessionScoped;
@Component
@SessionScoped
public class UsuarioWeb {
private Usuario logado;
// getters and setters
[/code]
UsuariosController
[code]package br.com.goodbuy.controller;
import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.Validator;
import br.com.caelum.vraptor.validator.ValidationMessage;
import br.com.goodbuy.dao.UsuarioDao;
import br.com.goodbuy.model.Usuario;
import br.com.goodbuy.model.UsuarioWeb;
@Resource
public class UsuariosController {
private final UsuarioDao dao;
private final Result result;
private final Validator validator;
private final UsuarioWeb usuarioWeb;
public UsuariosController(UsuarioDao dao, Result result, Validator validator, UsuarioWeb usuarioWeb) {
this.dao = dao;
this.result = result;
this.validator = validator;
this.usuarioWeb = usuarioWeb;
}
//…
@Post("/login")
public void login(Usuario usuario) {
Usuario carregado = dao.carrega(usuario);
if(carregado == null) {
validator.add(new ValidationMessage("Login e/ou senha inválidos", "usuario.login"));
}
validator.onErrorUsePageOf(UsuariosController.class).loginForm();
usuarioWeb.login(carregado);
result.redirectTo(ProdutosController.class).lista();
}
[/code]
onde estou errando ?
Desde já agradeço,
abraços