Passando uma Array para outro jsp

2 respostas
C

Fala PEssoal, vamos ver se vcs me ajudem pois já procurei na internet e não acho.

Seguinte, abaixo são testes que estou fazendo para jogar em um sistema.

Tenho uma lista com 3 valores igual abaixo.

<body>

<%

String lista[]; 

lista = new String[3];

lista[0] = "Teste1";
lista[1] = "Teste2";
lista[2] = "Teste3";
%>
<form id="form1" name="form1" method="post" action="Teste2.jsp">

      <%
      for(int i=0 ; i < lista.length ; i++){%>
      <%=lista[i]%>
      <input type="checkbox" name="teste" value=<%=lista[i]%>> <br>
      <%} %>
      <input type="submit" value="Enviar" name="enviar">
 
</form>
 </body>

Ai eu seleciono esses Checkbox e recupero os valores escolhido na pagina teste2.jsp e mostro eles dessa forma :

<body>
<%
String list[] =  request.getParameterValues("teste");

for(int i = 0 ; i<list.length ; i++){	
%>
<%=i%> - <%=list[i]%>
<%} %>

<form id="form1" name="form1" method="post" action="Teste3.jsp">
<input type="submit" value="Enviar" name="enviar">
</form>

</body>

O Problema é o seguinte, eu preciso pegar essa List da pagina 2 e passar para a pagina Teste3, já tentei usar o Session dessa forma :

//Pagina Teste2.jsp
session.setAttribute("nomeLista", list); // passando por session

// Pagina Teste3.jsp
 String minhaLista [] =  session.getAttribute("nomeLista");

Mas assim tbm não estou conseguindo ou estou fazendo errado, alguem saberia me dizer ou me ajudar ???

2 Respostas

wender.jean

Provavelmente você vai precisar serializar este dados pra passar pra outra pagina.

Particularmente eu costumo passar os dados serializados para um campo hidden.

<input type="hidden" id="colItensSerialize">
// É um destes dois métodos, aqui utilizando JQuery para Serializar, lembrando que "obj" seria sua lista
$('#colItensSerialize').val($(obj).serialize());
$('#colItensSerialize').val($(obj).serializeArray());

E pego via request no Servlet.

C

Cara, Você poderia me excplicar como usar isso, pois não estou conseguindo!!!

Criado 9 de agosto de 2011
Ultima resposta 9 de ago. de 2011
Respostas 2
Participantes 2