Olá Pessoal,
Estou aprendendo a trabalhar com o struts, resolvi usar tbm o hibernate, só para brincar mesmo, desta forma criei uma classe chama Aluno com as anotações para a geração da base de dados, porém quando mando compilar aparece sempre esta mensagem em vermelho:
Note: D:\MVC_Struts\Tutorial\src\Aluno.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
E agora vejam a minha classe Aluno.java
package strutsTutorial;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionErrors;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionMessage;
import javax.ejb.*;
@Entity(access=AccessType.FIELD)
@Table(name="aluno")
public class Aluno extends ActionForm {
/**
* Atributos da classe, juntamente com seus annotations
**/
@Id(generate=GeneratorType.NONE)
private int id;
@Column(name="nome", nullable=false, length=50)
private String nome;
@Column(name="email", nullable=false, length=40)
private String email;
public void setId(int id){
this.id = id;
}
public int getId(){
return this.id;
}
public void setNome(String nome){
this.nome = nome;
}
public String getNome(){
return this.nome;
}
public void setEmail(String email){
this.email = email;
}
public String getEmail(){
return this.email;
}
public void reset (ActionMapping map, HttpServletRequest req){
this.id = 0;
this.nome = null;
this.email = null;
}
public ActionErrors validate(ActionMapping map, HttpServletRequest req){
ActionErrors erros = new ActionErrors();
// Testando o ID
if (this.id == 0){
erros.add("id", new ActionMessage(
"aluno.ID"));
}
if (this.nome == null || this.nome.trim().equals("")){
erros.add("nome", new ActionMessage(
"aluno.NOME"));
}
if (this.email == null || this.email.trim().equals("")){
erros.add("email", new ActionMessage(
"aluno.EMAIL"));
}
return erros;
}
}
Mais uma dúvida, as validações do form se fazem nesta classe mesmo, ou seja, em um ActionForm, ou devo criar outra?
Muito Atenciosamente,
Paulo
seu objeto de negócio estende uma classe que não tem nada a ver com o negócio e ainda recebe um objeto HttpServletRequest @.@
Ao enviar o form o objeto Aluno na Action é automagicamente populado, sem precisar mapear absolutamente nada das propriedades.