Strut Action recuperando parametros do jsp

2 respostas
S

Olá
No meu jsp tenho uma lista de produtos:

banana
laranja
goiaba
etc

Exemplo do hidden:

Quando faço submit desses dados para action :

esses dados estão em input hiddem quando faço submit dos meus dados e recupero na action :
System.out.println(“get descricao:” + request.getParameter(“descricao”) );

ele pega apenas o primeiro registo :banana

Teria como pegar todos?
Como?

package br.com.teste;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import java.text.DecimalFormat;

import java.util.Calendar;

import java.util.Vector;

import java.util.<em>;

import <a href="http://java.io">java.io</a>.</em>;

import java.util.Locale;

import javax.servlet.http.HttpSession;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class teste extends Action {

private String descricao = "";
 

static {

}  
 
public ActionForward execute(ActionMapping mapping, ActionForm form, 
                             HttpServletRequest request, 
                             HttpServletResponse response) throws IOException, 
                                                                  ServletException {

//aqui estou recuperando as descricao que estão no jsp

System.out.println("get descricao:" + request.getParameter("descricao")  );
  
    return mapping.findForward("sucesso");  
}
public void setdescricao(String descricao) {

this.descricao = descricao;

}
public String getdescricao() {

return descricao;

}

}

2 Respostas

fabio.nascimento

Cara é o seguinte,

O que você tá fazendo não tá certo, o certo seria dar um nome único para cada imput text seu, dessa forma vc recuperaria todos.
Agora se essas frutas puderem ficar em uma lista com chekbox, vc faz o seguinte.

coloca tudo dentro de um array e na claswse vc pega de acordo com o ponteiro do array percorrendo do inicio ao fim e vendo quais estão com valor true, sacou?

QQ coisa, grita.

ramilani12

Há possibilidade sim , veja como:

&lt;input type="text" name="descricao[]" value="banana" &gt;
&lt;input type="text" name="descricao[]" value="laranja" &gt;
&lt;input type="text" name="descricao[]" value="goiaba" &gt;


Na sua Action

String [] frutas = request.getParameterValues("descricao[]");
for (int i = 0; i &lt frutas.length; i++)
System.out.println("Fruta "frutas[i]);

No seu HTML defina o input text como um array descricao[] e na sua Action utilizeo o metodo request.getParameterValues("descricao[]"); que lhe retorna um array de Strings

Criado 19 de junho de 2007
Ultima resposta 19 de jun. de 2007
Respostas 2
Participantes 3