Fala galera,
Eu estou com um problema na minha Action, quero cadastrar um objeto Rede no banco, só que ele tem relacionamento com ele mesmo e outro objeto, Satelite.
Eu consigo montar o form tranquilo, mas quando mando o submit ele me dá a seguinte exception:
[quote]SEVERE: ParametersInterceptor - [setParameters]: Unexpected Exception caught setting ‘redePai’ on 'class br.com.smartsafe.safewatch.web.action.RedeAction: Error setting expression ‘redePai’ with value ‘[Ljava.lang.String;@33262bf4’
Mar 12, 2009 4:46:29 PM com.opensymphony.xwork2.interceptor.ParametersInterceptor setParameters
SEVERE: ParametersInterceptor - [setParameters]: Unexpected Exception caught setting ‘salvar’ on 'class br.com.smartsafe.safewatch.web.action.RedeAction: Error setting expression ‘salvar’ with value ‘[Ljava.lang.String;@12f53870’
Mar 12, 2009 4:46:29 PM com.opensymphony.xwork2.interceptor.ParametersInterceptor setParameters
SEVERE: ParametersInterceptor - [setParameters]: Unexpected Exception caught setting ‘satelite’ on 'class br.com.smartsafe.safewatch.web.action.RedeAction: Error setting expression ‘satelite’ with value ‘[Ljava.lang.String;@214c4ac9’
[/quote]
Eu já pus os atributos como String e como int, e a Action não consegue setar ele de jeito nenhum, os métodos getter and setter de cada atributos estão certos, mas mesmo assim nada.
Segue a action:
[code]public class RedeAction extends ActionSupport implements Preparable, ModelDriven {
private int redeId;
private Rede rede;
private RedeDAO rDAO = new RedeDAO();
private SateliteDAO sDAO = new SateliteDAO();
private List<Rede> redes;
private List<Satelite> satelites;
private Satelite satelite;
private Rede redePai;
public void prepare() throws Exception {
if(this.redeId==0) {
this.rede = new Rede();
} else {
this.rede = (Rede) rDAO.obter(redeId);
}
}
public Object getModel() {
return rede;
}
public String list() throws Exception {
this.redes = (List<Rede>) rDAO.lista(0, 0);
return SUCCESS;
}
public String inserir() throws Exception {
this.rede.setSatelite(getSatelite());
if(getRedePai()!=null) {
this.rede.setRedePai(getRedePai());
}
System.out.println("Satelite: "+getSatelite()+" RedePai:"+getRedePai());
rDAO.inserir(this.rede);
return SUCCESS;
}
public String atualizar() throws Exception {
this.rede.setSatelite(getSatelite());
if(getRedePai()!=null) {
this.rede.setRedePai(getRedePai());
}
rDAO.alterar(this.rede);
return SUCCESS;
}
public String input() throws Exception {
this.satelites = (List<Satelite>) sDAO.lista(0, 0);
this.redes = (List<Rede>) rDAO.lista(0, 0);
return INPUT;
}
public String delete() throws Exception {
rDAO.deletar(this.getRede());
return SUCCESS;
}
… getters and setters
[/code]
Valeuuu!!