Duvida Vraptor

6 respostas
G

Tenho as seguintes classes e jsps abaixo.

Chamo no browser http://localhost:8080/HomeWorks/mundo/boasVindas

me deparo com o form simples "Preencha Email" (codigo esta abaixo)

preencho e clico no botao submit, a logica add eh executada mas nao sou redirecioando para add.jsp

Na verdade, me parece que o objeto user nao esta sendo criado automaticamente e passado para logica add, alguem sabe me dizer pq?

**** classe User ****
package br.com.homeworks.model;

import java.util.Date;

import javax.persistence.Entity;

@Entity
public class User
{
	private Long id;
	private String name;
	private String lastName;
	private String password;
	private String email;
	private Date creationDate;
	private Date birthDate;
	
	public User(String name, String lastName, String password, String email,Date birthDate)
	{
		super();
		this.name = name;
		this.lastName = lastName;
		this.password = password;
		this.email = email;
		this.birthDate = birthDate;
		
		creationDate = new Date();
	}
	
	public String getName()
	{
		return name;
	}
	
	public void setName(String name)
	{
		this.name = name;
	}
	
	public String getLastName()
	{
		return lastName;
	}
	
	public void setLastName(String lastName)
	{
		this.lastName = lastName;
	}
	
	public String getPassword()
	{
		return password;
	}
	
	public void setPassword(String password)
	{
		this.password = password;
	}
	
	public String getEmail()
	{
		return email;
	}
	
	public void setEmail(String email)
	{
		this.email = email;
	}
	
	public Date getBirthDate()
	{
		return birthDate;
	}
	
	public void setBirthDate(Date birthDate)
	{
		this.birthDate = birthDate;
	}
	
	public Long getId()
	{
		return id;
	}
	
	public Date getCreationDate()
	{
		return creationDate;
	}
	
}
**** Preencher Email ****
<%@ 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>

<form action="../user/add">

	<fieldset>
	
	<legend>Preencha Email</legend>
	<label for="nome">Email:</label>
	 <input id="email" type="text" name="user.email"/>
	<button type="submit">Enviar</button>


</fieldset>
${string}
</form>
</body>
</html>
package br.com.homeworks.controller;

****
logica teste para Preencher email
****

import br.com.caelum.vraptor.Resource;
import br.com.homeworks.model.User;

@Resource
public class UserController
{
	
	public String add(User user)
	{
		System.out.println("alo");
		return user.getEmail();
		
	}
}
*** jsp teste para receber e exibir o email preenchido ***
<%@ 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>
${string}
</body>

6 Respostas

G

descobri faltava construtor padrao no user

juniorsatanas

hehheheh

Lucas_Cavalcanti

o VRaptor usa uma bibilioteca chamada OGNL pra popular os objetos com os parâmetros do request, e o OGNL precisa do construtor padrão, infelizmente…

provavelmente deu um erro no console do servidor avisando algo parecido com isso…
se o erro não estiver claro, por favor fale e a gente muda pra um erro melhor

[]'s

G

vlw

G

Lucas Cavalcanti:
o VRaptor usa uma bibilioteca chamada OGNL pra popular os objetos com os parâmetros do request, e o OGNL precisa do construtor padrão, infelizmente…

provavelmente deu um erro no console do servidor avisando algo parecido com isso…
se o erro não estiver claro, por favor fale e a gente muda pra um erro melhor

[]'s

O padrão é o ONGL. Mas lembro que haviam uns testes com o IOGI, porém lembro que o IOGI tentava instanciar new Long() vazio, haha. O IOGI está sendo já usado ou o padrão será mesmo o ONGL?

Até agora, pelo menos comigo, o ONGL tem trabalhado bem com todos meus objetos. O caso do construtor padrão, qualquer desses “binding” de beans obriga você a ter um.

Lucas_Cavalcanti

o iogi ainda não é o padrão… mas provavelmente vai ser daqui a algum tempo

Criado 21 de março de 2010
Ultima resposta 26 de mar. de 2010
Respostas 6
Participantes 4