Pessoal boa tarde,
estou tentando modificar um exemplo da apostila fj28 e não estou conseguindo…
eu utilizo o layout da apostila, porem eu utilizo ao inves de vraptor utilizo struts 2 pois aprendi no curso e nao quero misturar muitos frameworks agora para nao me embolar todo nos estudos. estou tentando modificar da seguinte forma:
usuarioDAO:
public Usuario carrega(Usuario usuario) {
try {
PreparedStatement stmt = this.connection.prepareStatement("select * from usuarios where login = ? and senha = ?");
stmt.setString(1, usuario.getLogin());
stmt.setString(2, usuario.getSenha());
ResultSet rs = stmt.executeQuery();
if(rs.next()) {
return populaContato(rs);
}
rs.close();
stmt.close();
return null;
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
private Usuario populaContato(ResultSet rs) throws SQLException {
Usuario usuario = new Usuario();
usuario.setNome(rs.getString("nome"));
usuario.setLogin(rs.getString("login"));
usuario.setSenha(rs.getString("senha"));
return usuario;
}
LoginAction:
public class LoginAction {
private Usuario usuario;
private String mensagemErro;
private UsuarioWeb usuarioWeb;
@Action(value="login", results = {
@Result(name="ok", location="/jsp/sistema.jsp"),
@Result(name="invalido", location="/index.jsp")
})
public String login() {
Usuario carregado = new UsuarioDAO().carrega(usuario);
if(carregado == null){
mensagemErro = "Usuário ou senha inválidos!!";
return "invalido";
} else {
UsuarioWeb usuarioWeb = new UsuarioWeb();
usuarioWeb.login(carregado);
mensagemErro = "Logado";
return "ok";
}
}
a div das minhas páginas jsp:
<body>
<div id="header">
<div id="usuario">
<c:if test="${usuarioWeb.logado}">
Olá, ${usuarioWeb.nome}! <a href="<c:url value="/logout"/>">Logout</a>
</c:if>
<c:if test="${empty usuarioWeb or not usuarioWeb.logado}">
Você não está logado.
</c:if>
</div>
</div>
porem eu logo normalmente, verifica e na div erros aparece logado, como esta na mensagemErro da action, entao esta verificando, logando e retornando a mensagemErro normalmente, se eu digitar login invalido, tb retorna para a pagina jsp normalmente com a mensagemErro, porem nao esta mudando de logado para nao logado na div, entao nao esta funcionando o <c:if test = "${usuarioWeb.logado}
era para mudar de nao logado para logado e so aparece você não está logado. mesmo eu ja estando logado e aparecendo na mensagemErro como logado, oq poderia ser??
segue a captura de tela.

agradeço a todos desde ja!!!