Como passar 150 campos de um formulario em jsp para um servlet?

11 respostas
rodolfogs8

Galera eu tenho 150 campos em um formulario e gostaria de estar jogando tudo isso dentro de um bean mas assim sem ter que ficar dando getParameter de cada campo, não sei se me entenderam.

alguem pode me ajudar?

11 Respostas

Pedrosa

De uma olhada no VRaptor ele faz exatamente o que precisa:

http://www.vraptor.org/pt/request/index.html

nbluis

A maioria dos frameworks MVC fazem isso pra você.

Se não me engano o projeto BeanUtils também tem alguma coisa do gênero.

Em ultimo caso, reflection neles.

gobbo

Desculpa o comentario:

“Carai!!! que form grandeeee!!!”

victorwss

Você pode colocar annotations nos setters da bean, e daí por reflection, o servlet invoca os métodos setando na sua bean os valores que ele encontrar no request.

Por exemplo:

<form method="POST" action="xxxx">
    <input type="text" id="campo1" name="campo1"/>
    <input type="text" id="campo2" name="campo2"/>
    <input type="text" id="campo3" name="campo3"/>
    <input type="text" id="campo4" name="campo4"/>
    <!-- ... -->
</form>
public class SuaBean {
    @CampoDoForm("campo1")
    public void setAlgumaCoisa(String coisa) { /*...*/ }

    @CampoDoForm("campo2")
    public void setOutraCoisa(String coisa) { /*...*/ }

    @CampoDoForm("campo3")
    public void setMaisAlgumaCoisa(String coisa) { /*...*/ }
}
fabim

Pra que complicar…

<jsp:useBean id="meuObjeto" class="meupacote.MeuObjeto">   
<jsp:setProperty name="meuObjeto" property="*"/>

Isso faz com que, se no seu bean vc tiver um metodo “setDescricao”, seja preenchida com o campo “descricao” do form.

renomoto

O que vc pode fazer eh trabalhar com os métodos abaixos, dentro de um loop.

String[] - request.getParameterNames();
Enum - request.getParameterValues(arg0);

[]'s

luistiagos

fico imaginando o usuario pra preencher essa porrada de campos… so de olhar ele ja vai desistir…

victorwss

fabiocsi:
Pra que complicar…

<jsp:useBean id="meuObjeto" class="meupacote.MeuObjeto">   
<jsp:setProperty name="meuObjeto" property="*"/>

Isso faz com que, se no seu bean vc tiver um metodo “setDescricao”, seja preenchida com o campo “descricao” do form.

Realmente… Uma excelente idéia.

R

Na verdade,é o BeanUtils quem faz a “mágica” dos binding beans no Struts2,JSF e outros,não?

gobbo

eu desistiria
hauahauah

T

po se vc quiser fazer isso mesmo manualmente
tenta usar matriz e depois vc coloca isso dentro de uma estrutura de repetiçao.
abracos

Criado 13 de maio de 2008
Ultima resposta 13 de mai. de 2008
Respostas 11
Participantes 10