[DUVIDA] Padrões Struts2

Boa tarde,

Estou lendo a FJ-21 da Caelum, e tenho uma duvida referente a padrões de projeto e validação

PRIMEIRA DUVIDA:

O correto é:

  • Fazer uma classe “EntidadeAction”, exemplo: ProdutoAction, e nele vai ter os métodos que vão chamar os daos, adiciona, altera, deleta
  • Ou criar uma classe para cada metodo, exemplo: AdicionaProdutoAction, AlteraProdutoAction, DeletaProdutoAction

SEGUNDA DUVIDA:

Qual é a maneira recomendada por voces para fazer validação simples de formularios, js, annotations, xml?

abs!

Acredito que o correto seja:

  • Fazer uma classe “EntidadeAction”, exemplo: ProdutoAction, e nele vai ter os métodos que vão chamar os daos, adiciona, altera, deleta

No projeto que estamos desenvolvendo atualmente, estamos fazendo as validações dos formulários com o jQuery validation plug-in 1.7

Muito obrigado Cristiane.

Referente a validação usando struts 2 alguem recomenda alguma maneira?

O correto e criar um js para validação dos dados do form e no servidor existir uma outra validação dos dados…
Pois usuários experientes conseguem modificar os dados do js e podem conseguir burlar esta validação…

No Js existe já pronto scripts para validação de form

tenho uma duvida,

segue o codigo

Pessoa.java

public class Pessoa {

	private Long id;
	private String nome;
	private String sobrenome;
	
	/*
	 * getters, setters e construtor vazio
	 */
}

PessoaDao.java

public class PessoaDao {
	
	public void adiciona(Pessoa pessoa){
		System.out.println("PessoaDao.adiciona");
		//codigo para adicionar uma pessoa
	}
	public void deleta(Pessoa pessoa){
		System.out.println("PessoaDao.deleta");
		//codigo para deletar uma pessoa
	}
}

PessoaAction

@Validations(requiredStrings={
@RequiredStringValidator(fieldName="pessoa.nome", message="Campo pessoa obrigatorio!!!"),
@RequiredStringValidator(fieldName="pessoa.sobrenome", message="Campo sobrenome obrigatorio!!!")})
public class PessoaAction extends ActionSupport{
	
	private PessoaDao dao;
	private Pessoa pessoa;
	
	public PessoaAction() {
		dao = new PessoaDao();
	}
	
	@Action(value="/pessoa/adiciona", results={
	@Result(location="/lista.jsp", name="ok"),
	@Result(location="/sucesso.jsp", name="input")})
	public String adiciona(){
		dao.adiciona(pessoa);
		return"ok";
	}
	
	@Action(value="/pessoa/deleta", results={
	@Result(location="/lista.jsp", name="ok")})
	public String deleta(){
		dao.deleta(pessoa);
		return"ok";
	}

	public Pessoa getPessoa() {
		return pessoa;
	}

	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}
}

Apenas a primeira action funciona, alguem tem uma solução?

Renan a segunda Action realmente não vai funcionar pq na class PessoaAction vc criou uma validação (@Validations) e o delete não recebe os parametros de validação…O Correto neste caso seria vc criar uma outra classe para o delete ou remover o @Validations

Blz…Boa sorte ai…