Olá, será que alguém poderia me ajudar a fazer uma tela de login com o vraptor no eclipse?
A parte Java fiz com facilidade, mas quando fui fazer os jsp empaquei nos redicionamentos.
Vou postar todas as classes para voces me ajudarem
primeiro no pacote src:
[color=blue]package br.com.caelum.vraptor.blank;
[color=red]import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtil {
private static SessionFactory factory;
static {
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Usuario.class);
factory = cfg.buildSessionFactory();
}
public Session getSession() {
return factory.openSession();
}
}
package br.com.caelum.vraptor.blank;
import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Put;
import br.com.caelum.vraptor.Resource;
<a class="mention" href="/u/resource">@Resource</a>
public class IndexController {
<a class="mention" href="/u/get">@Get</a>
<a class="mention" href="/u/path">@Path</a>("/")
public void novo() {
}
@Post
@Path("/usuario")
public void salvar() {
}
@Put
@Path("/usuario")
public void editar() {
}
}
package br.com.caelum.vraptor.blank;
import java.sql.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import <a href="http://javax.persistence.Id">javax.persistence.Id</a>;
import javax.persistence.Table;
@Entity
@Table(name=“usuario”)
public class Usuario {
@Column(name="login")
private String login;
@Column(name="senha")
private String senha;
@Id
@Column(name="codigo")
@GeneratedValue
private Long codigo;
@Column(name="nome")
private String nome;
@Column(name="dtnascimento")
private Date dtnascimento;
@Column(name="ativo")
private Boolean ativo;
public String getLogin() {
return login;
}
public String getSenha() {
return senha;
}
public Long getCodigo() {
return codigo;
}
public String getNome() {
return nome;
}
public Date getDtnascimento() {
return dtnascimento;
}
public Boolean getAtivo() {
return ativo;
}
public void setLogin(String login) {
this.login = login;
}
public void setSenha(String senha) {
this.senha = senha;
}
public void setNome(String nome) {
this.nome = nome;
}
public void setDtnascimento(Date date) {
this.dtnascimento = date;
}
public void setAtivo(Boolean ativo) {
this.ativo = ativo;
}
public void setCodigo(Long codigo) {
this.codigo = codigo;
}
}
package br.com.caelum.vraptor.blank;
import java.util.List;
import javax.annotation.Resource;
import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.view.Results;
@Resource
public class UsuarioController {
private Result result;
public UsuarioController(Result result) {
this.result = result;
}
@Get
@Path("/")
public void novo() {
}
@Post
@Path("/usuario")
public void salvar(Usuario usuario) {
// result.use(Results.page()).forward(“WEB-INF/jsp/usuario/lista.jsp”);
}
@Get
@Path("/usuario/lista")
public List<Usuario> lista() {
return UsuarioDao.loadAll();
}
}
package br.com.caelum.vraptor.blank;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Session;
import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.ioc.SessionScoped;
@SessionScoped
@Component
public class UsuarioDao {
private final Session session;
private static List<Usuario> usuarioList = new ArrayList<Usuario>();
private Integer codigo = 1;
public void salvar(Usuario usuario) {
usuarioList.add(usuario);
usuario.setCodigo(codigo.longValue()+1);
}
public static List<Usuario> loadAll() {
return usuarioList;
}
public UsuarioDao(Session session) {
this.session = session;
}
public List<Usuario> listaTodos() {
return session.createCriteria(Usuario.class).list();
}
}
package br.com.caelum.vraptor.blank;
import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.ioc.SessionScoped;
@Component
@SessionScoped
public class UsuarioWeb {
private Usuario logado;
public void login(Usuario usuario) {
this.logado = usuario;
}
public String getNome() {
return logado.getNome();
}
public boolean isLogado() {
return logado != null;
}
public void logout() {
this.logado = null;
}
}[/color]
[color=blue]
Agora o WEB-INF:
no pacote jsp que no web-inf, tem outro pacote chamado index. Nele tem as classes (nome_projeto/web content/web-inf/jsp/index):
<%@ page language=“java” contentType="text/html; charset=ISO-8859-1"
pageEncoding=“ISO-8859-1”%>
<%@ taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %>
Tela Inicial
Novo Usuário
Lista Usuários
<%@ page language=“java” contentType="text/html; charset=ISO-8859-1"
pageEncoding=“ISO-8859-1”%>
<%@ taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %>
Novo Usuario
Nome:                      
Codigo:                    <input name="usuario.codigo" type="type" value="${usuario.codigo}" /><br><br>
Senha:                      <input name="usuario.senha" type="password" value="${usuario.senha}" /><br><br>
Login:                       <input name="usuario.login" type="text" value="${usuario.login}" /><br><br>
Data de Nascimento: <input name="usuario.dtnascimento" type="text" value="${usuario.dtnascimento}" /><br><br>
<input type="checkbox" name="usuario.ativo" value="${usuario.ativo}"> Ativo <br><br>
<center><button type="submit">Ok</button></center>
</form>
[/color]
no pacote jsp que no web-inf, tem outro pacote chamado usuario. Nele tem as classes (nome_projeto/web content/web-inf/jsp/usuario):
[color=blue]<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
Apresentação dos Dados
| Login |
Senha |
Codigo |
Nome |
Data de Nascimento |
Ativo |
| ${item.login} |
${item.senha} |
${item.codigo} |
${item.nome} |
${item.dtnascimento} |
${item.ativo} |
[/color]
Sao essas classes e páginas. Quando eu clico no botao ou no link que direciona para outra página da erro. Alguém tem alguma ideia do que pode ser???
Agradesço desde já.
T+.
Agora o WEB-INF:
no pacote jsp que no web-inf, tem outro pacote chamado index. Nele tem as classes (nome_projeto/web content/web-inf/jsp/index):
[color=blue]<%@ page language=“java” contentType="text/html; charset=ISO-8859-1"
pageEncoding=“ISO-8859-1”%>
<%@ taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %>
Tela Inicial
Novo Usuário
Lista Usuários
<%@ page language=“java” contentType="text/html; charset=ISO-8859-1"
pageEncoding=“ISO-8859-1”%>
<%@ taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %>
Novo Usuario
Nome:                      
Codigo:                    <input name="usuario.codigo" type="type" value="${usuario.codigo}" /><br><br>
Senha:                      <input name="usuario.senha" type="password" value="${usuario.senha}" /><br><br>
Login:                       <input name="usuario.login" type="text" value="${usuario.login}" /><br><br>
Data de Nascimento: <input name="usuario.dtnascimento" type="text" value="${usuario.dtnascimento}" /><br><br>
<input type="checkbox" name="usuario.ativo" value="${usuario.ativo}"> Ativo <br><br>
<center><button type="submit">Ok</button></center>
</form>
[/color]
no pacote jsp que no web-inf, tem outro pacote chamado usuario. Nele tem as classes (nome_projeto/web content/web-inf/jsp/usuario):
[color=blue]<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
Apresentação dos Dados
| Login |
Senha |
Codigo |
Nome |
Data de Nascimento |
Ativo |
| ${item.login} |
${item.senha} |
${item.codigo} |
${item.nome} |
${item.dtnascimento} |
${item.ativo} |
[/color]
Sao essas classes e páginas. Quando eu clico no botao ou no link que direciona para outra página da erro. Alguém tem alguma ideia do que pode ser???
Agradesço desde já.
T+.