Bem pessoal tenho um componente HTML <select> onde insiro uma Strings, essecomponenete por padrao retorna um array. Estou emviando esse componente por post para uma outra página, onde por ${param.pegaArray}
estou tentando obter o array, mas ele me da uma exceção dizendo que o tipo é indefinido:
vc usa struts??? e esse ${param.pegaArray} pegaArray é um método??
J
juloko666
naum uso Struts naum…isso…é um método do meu POJO
C
cassio
juloko666:
Bem pessoal tenho um componente HTML <select> onde insiro uma Strings, essecomponenete por padrao retorna um array. Estou emviando esse componente por post para uma outra página, onde por ${param.pegaArray}
estou tentando obter o array, mas ele me da uma exceção dizendo que o tipo é indefinido:
A questao é, como recebo por parametro um array de String?
Vc não pode chamar métodos com EL, somente acessar atributos da sua classe. Quando vc usa uma EL na forma ${objeto.atributo}, onde provavelmente este atributo é privado na classe, é realizada uma chamada ao método getMeuAtributo() que provê acesso a esse membro da sua classe. Mas isso não quer dizer que vc possa acessar métodos em geral usando EL.
Define seu array como atributo privado na classe e crie um metodo getArray() que retorne esse array. Cuidado com o nome que dara ao array, ao metodo get e como acessará por EL esse atributo no seu JSP. Os nomes devem ser coerentes!
J
juloko666
Nao blz…isso jah está sendo feito(POJO)…
JSP
${param.recebeArray}
JAVA
private String[] meuArray;
getter's and setter's (todos public)
Mas é possível passar um array do java script por post???
C
cassio
Amigo, acho que vc não entendeu o que eu escrevi, dá uma lida com calma ali de novo …
Vc está chamando o array de meuArray
Logo vc deveria ter um metodo getMeuArray()
private String[] meuArray;
//... mais codigo ...
/*preste atencao, o nome do metodo tem que bater com o nome do atributo da classe! Somente a primeira letra que passa a ser maiúscula. */
public String[] getMeuArray(){
return meuArray;
}
No seu JSP vc tem que fazer:
${param.meuArray}
Na EL vc vai usar o MESMO nome do seu atributo. O servlet container cuida de encontrar o respectivo método get para este atributo e coloca o valor no servlet compilado para o JSP.