Dúvida sobre método set num form JSP

2 respostas
M

Olá!

tenho um form que possui 128 campos. Cada campo esta representado da seguinte maneira:

g01030507 , onde g identifica que o campo é de u grupo, o valor 01 identifica o codigo do grupo1, o valor 03 identifica o codigo do grupo2, o valor 05 identifica o codigo do grupo3 e o valor 07 identifica o codigo do grupo4.
O valor pego no campo g01030507 é a quantidade desejada deste produto. Eu preciso dar um select no banco e setar os 128 campos com as respectivas quantidades.
Na tabela do banco eu tenho apenas cd_grupo_1,cd_grupo_2,cd_grupo_3, cd_grupo_4 e qt_solicitada.

O código que escrevi é o seguinte:

dbobj.table.Tb_lista_grupo table2 = new dbobj.table.Tb_lista_grupo();

String[][] select2 = null;

String[] order2 = null;

String[] groupby2 = null;

String[] having2 = null;

Object[][] where2 = {  {Nu_lista,"=", java.util.text.FormatNumber.toInt(f.getNu_lista())}, {Nu_ano,"=", java,util.text.FormatNumber.toInt(f.getNu_ano())}, }

Vector res_Tb_lista2 = j.select(table2, select2, where2, groupby2, having2, order2);

if (res_Tb_lista2 != null && res_Tb_lista2.size() > 0)

{

String campo = “”;

int tamanho = (int)res_tb_lista2.size();
for(i=1;i<=tamanho;i++)
 {
    dbobj.table.Tb_lista_grupo r = (dbobj.table.Tb_lista_grupo) res_Tb_lista2.elementAt(i);
    campo = "f.setG"+com.egen.util.text.FormatNumber.fillMode(r.getCd_grupo_1(), "00")+com.egen.util.text.FormatNumber.fillMode(r.getCd_grupo_2(), "00")+com.egen.util.text.FormatNumber.fillMode(r.getCd_grupo_3(), "00")+com.egen.util.text.FormatNumber.fillMode(r.getCd_grupo_4(), "00")+"";
        
// parei aqui... não consigo pensar numa maneira de pegar a variavel campo que deve conter todos os f.set's (todos os 128 campos) para tentar montar um comando como o colocado abaixo:


 f.setG01030507(r.getQt_solicitada());
 o problema que o q vem depois do G varia e não posso somar ao f.set que o compilador não entende. Não posso colocar por exemplo f.setG+""+campo(r.getQt_solicitada()); mesmo tirando o f.setG da variavel campo.

Enfim fico muito grato se alguém me ajudar a montar um codigo em que eu consiga setar todas as 128 quantidades solicitadas nos seus respectivos campos.

Valeu,

Luiz Fernando Martinez

2 Respostas

muanis

“talvez” você consiga resolver isso com reflection para acessar dinamicamente os metodos.

Mas algo me diz que essa sua solução para o problema não está muito boa.

M

Eu também tentei usar reflect mas também não entendi como fazer o comando

f.set(qt_solicitada);

Se pudesse me dar uma ajuda, agradeço.

O método de inserção eu fiz com reflect.

Valeu,

Luiz

Criado 19 de abril de 2005
Ultima resposta 20 de abr. de 2005
Respostas 2
Participantes 2