Então, não to conseguindo pegar os dados do formulário pelo ActionForm e inserir no objeto… ele não tá achando os getters ( provavelmente tb nao achar os setter, mas nao informa sobre isso)
Classe mãe da classe que eu realmente uso no ActionForm:
[code]
public abstract class FloculadorImpl implements Floculador, Serializable {
protected Double vazao;
protected Double area;
protected Integer numCamaras;
protected Double[] tempoDeDetencao;
protected Double[] gradiente;
protected Double[] numeroDeCamp;
public Double getArea() {
return this.area;
}
public Double[] getGradiente() {
return this.gradiente;
}
public Double[] getNumeroDeCamp() {
return this.numeroDeCamp;
}
public Double getVazao() {
return this.vazao;
}
public void setVazao(Double vazao) {
this.vazao = vazao;
}
public Integer getNumCamaras() {
return this.numCamaras;
}
public void setNumCamaras(Integer numCamaras) {
this.numCamaras = numCamaras;
}
public Double[] getTempoDeDetencao() {
return this.tempoDeDetencao;
}
public void setTempoDeDetencao(Double[] tempoDeDetencao) {
this.tempoDeDetencao = tempoDeDetencao;
}
}[/code]
Essa é a classe que eu quero que os dados sejam inseridos pela actionform:
public class FloculadorHidraulicoImpl extends FloculadorImpl implements Serializable{
private Double[] espacamentoChicanas;
private Double alturaDeAgua;
private Double[] volumeCamara;
private Double volumeTotal;
private Double largura;
private Double comprimento;
private Integer[] numChicanas;
private Double[] velocidadeCamara;
private Double[] comprimentoPercurso;
private Double[] perdaDeCarga;
private Double coeficienteRugosidade;
/**
*Outros métodos que fazem os calculos que eu preciso
*
**/
public Double[] getEspacamentoChicanas() {
return espacamentoChicanas;
}
public void setEspacamentoChicanas(Double[] espacamentoChicanas) {
this.espacamentoChicanas = espacamentoChicanas;
}
public Double getAlturaDeAgua() {
return alturaDeAgua;
}
public void setAlturaDeAgua(Double alturaDeAgua) {
this.alturaDeAgua = alturaDeAgua;
}
public Double getLargura() {
return largura;
}
public void setLargura(Double largura) {
this.largura = largura;
}
public Double getComprimento() {
return comprimento;
}
public void setComprimento(Double comprimento) {
this.comprimento = comprimento;
}
public Integer[] getNumChicanas() {
return numChicanas;
}
public void setNumChicanas(Integer[] numChicanas) {
this.numChicanas = numChicanas;
}
public Double getCoeficienteRugosidade() {
return coeficienteRugosidade;
}
public void setCoeficienteRugosidade(Double coeficienteRugosidade) {
this.coeficienteRugosidade = coeficienteRugosidade;
}
public Double[] getVolumeCamara() {
return volumeCamara;
}
public Double getVolumeTotal() {
return volumeTotal;
}
public Double[] getVelocidadeCamara() {
return velocidadeCamara;
}
public Double[] getComprimentoPercurso() {
return comprimentoPercurso;
}
public Double[] getPerdaDeCarga() {
return perdaDeCarga;
}
}
Agora meu jsp:
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html>
<h1>Página de teste de Dimensionamento de Floculador Hidráulico </h1>
<body>
<html:form action="floculadorHidraulico.do">
Numero de camaras: <html:text property="floculador.numCamaras"/></br>
Vazao: <html:text property="floculador.vazao"/></br>
a1: <html:text property="floculador.espacamentoChicanas[1]"/></br>
a2: <html:text property="floculador.espacamentoChicanas[2]"/></br>
a3: <html:text property="floculador.espacamentoChicanas[3]"/></br>
t1: <html:text property="floculador.tempoDeDetencao[1]"/></br>
t2: <html:text property="floculador.tempoDeDetencao[2]"/></br>
t3:<html:text property="floculador.tempoDeDetencao[3]"/></br>
Comprimento: <html:text property="comprimento"/></br>
Altura de água: <html:text property="alturaDeAgua"/></br>
n: <html:text property="coeficienteRugosidade"/></br>
<html:submit>Enviar</html:submit>
</html:form>
</body>
</html>
E o ActionForm:
[code]
public class FloculadorHidraulicoForm extends ActionForm {
private FloculadorHidraulicoImpl floculador = new FloculadorHidraulicoImpl();
public FloculadorHidraulicoImpl getFloculadorHidraulicoImpl() {
return this.floculador;
}
}[/code]
A exception é essa:
javax.servlet.jsp.JspException: No getter method for property: "floculador.numCamaras" of bean: "br.com.etasystem.struts.form.FloculadorHidraulicoForm"
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:915)
at org.apache.struts.taglib.html.BaseFieldTag.prepareValue(BaseFieldTag.java:126)
at org.apache.struts.taglib.html.BaseFieldTag.renderInputElement(BaseFieldTag.java:102)
Alguém sabe pq não tá achando os métodos?? (ja descobri que a ActionForm não insere os dados se setter retornar um wrapper. mas isso n causa erro, apenas nao é inserido o valor)