To querendo fazer uma validação usando Annotation do Struts 2, mas tambem to utilizando modeldriven

0 respostas
pai-mei

Quero saber como vou usar o annotation ja que a interface modeldriven tirar os getters e setters da Action e tambem quando validar error retornar a pagina com campos que deram com os field jah preenchidos. minha Action:

package br.com.sisacras.actions;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import br.com.sisacras.base.BaseAction;
import br.com.sisacras.beans.BeanAbrangencia;
import br.com.sisacras.beans.BeanPolo;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.Preparable;
import com.opensymphony.xwork2.validator.annotations.RequiredStringValidator;
import com.opensymphony.xwork2.validator.annotations.Validations;

public class PoloAction extends BaseAction implements ModelDriven<BeanPolo>{

	private static final long serialVersionUID = 1L;

	private BeanPolo polo = new BeanPolo();
	private List<BeanPolo> poloList = new ArrayList<BeanPolo>();
	private BeanAbrangencia abrangencia = new BeanAbrangencia();
	private String bairro;



	@Override
	public BeanPolo getModel() {

		return polo;
	}

	public BeanPolo getPolo() {
		return polo;
	}

	public void setPoloList(List<BeanPolo> poloList) {
		this.poloList = poloList;
	}

	public List<BeanPolo> getPoloList() {
		return poloList;
	}

	public String list() {

		services.setTable(BeanPolo.class, "polo");
		poloList = services.listBeans();
		return SUCCESS;
	}

	@Validations(
			requiredStrings = {
			@RequiredStringValidator(fieldName = "descPolo", message = "Nome do polo Obrigatorio.", trim = true),
			@RequiredStringValidator(fieldName = "polo.end.rua", message = "Endereco do polo obrigatorio", trim = true),
			@RequiredStringValidator(fieldName = "polo.end.numero", message = "")
			}
	)
	public String inserir() {

		services.saveBean(polo);
		addActionMessage(polo.getDescPolo() + " incluido com sucesso!");
		return SUCCESS;
	}

	public String mostrar() {

		HttpServletRequest request = (HttpServletRequest) ActionContext
				.getContext().get(ServletActionContext.HTTP_REQUEST);
		int id = Integer.parseInt(request.getParameter("polo"));
		services.setTable(BeanPolo.class, "polo");
		polo = (BeanPolo) services.listBean(id);
		return SUCCESS;
	}

	public String alterar() {

		try {

			services.updateBean(polo);
			return SUCCESS;

		} catch (Exception e) {

			e.printStackTrace(System.out);
			return ERROR;

		}
	}

	public String delete() {

		services.deleteBean(polo);
		return SUCCESS;
	}

	public String addNovaAbragenia() {

		HttpServletRequest request = (HttpServletRequest) ActionContext
				.getContext().get(ServletActionContext.HTTP_REQUEST);
		services.setTable(BeanPolo.class, "polo");
		int id = Integer.parseInt(request.getParameter("id"));
		polo = (BeanPolo) services.listBean(id);
		abrangencia.setBairro(bairro);
		polo.addAbrangencia(abrangencia);
		return SUCCESS;
	}

	public String removerTodas() {

		polo.getAbrangencias().removeAll(polo.getAbrangencias());

		services.updateBean(polo);

		return SUCCESS;

	}

	public String removerUnica() {

		HttpServletRequest request = (HttpServletRequest) ActionContext
				.getContext().get(ServletActionContext.HTTP_REQUEST);
		int idAbragencia = Integer.parseInt(request.getParameter("idAbragencia"));
		services.setTable(BeanAbrangencia.class, "BeanPolo");
		polo.getAbrangencias().remove(services.listBean(idAbragencia));

		services.updateBean(polo);
		
		return SUCCESS;
	}

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

}
Criado 3 de setembro de 2010
Respostas 0
Participantes 1