Recuperar os valores no Action setados na jsp (iterate)

Pessoal,

Tenho uma pagina JSP que exibe uma tabela com iterate, nessa tabela tenho colunas que não são editáveis e outras que são, as que são editáveis eu carrego com valores default, quero que quando submeter esse JSP consiga recuperar os valores setados na tabela que deverão estar em uma collection.

Minha dúvida é como faço, para passar para a collection os valores que foram setados nos campos editavéis do iterate?

Quando eu submeto o JSP só esta vindo os valores anteriores (default).

Minha segunda dúvida é: No action que vai ser chamado, como faço para pegar essa collection e percorrer os valores dela? Que eu uso para isso? request? session?

Se tiverem exemplos, favor coloquem que me ajudará bastante.

Vou colocar a tela, para terem uma idéia.

[code]<%@ taglib uri="/WEB-INF/struts-html.tld" prefix=“html” %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix=“bean” %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix=“logic” %>
html:html

SISFAB - Sistema de Gestão de Fábrica

Gerar Orçamento

<%----%>
 

Cliente

Número: Nome:


Orçamento

Código: Tipo Orçamento
Data de emissão: Referência
Prazo de Entrega Condição de Pagto
Condição de Entrega Validade

Itens do Orçamento

Modelo Equipamento Quant. Preço Unitário Imposto (%) Prazo de Entrega (dias) Serviço Executado
<%----%>

Desconto %
Total do Orçamento
[/code]

[code]/*

  • Created on 07/08/2005
  • TODO To change the template for this generated file go to
  • Window - Preferences - Java - Code Style - Code Templates
    */
    package br.com.escher.sisfab.orcamento.presentation;

import java.util.Collection;

import org.apache.struts.action.ActionForm;

/**

  • @author Roberto Escher

  • TODO To change the template for this generated type comment go to

  • Window - Preferences - Java - Code Style - Code Templates
    */
    public class OrcamentoActionForm extends ActionForm {

    private Integer numero = null;
    private String nome = null;
    private Long numeroorc = null;
    private String[] tipos = {“Conserto”,“Fornecimento”};
    private String dataemissao = null;
    private String referencia = null;
    private String prazoentrega = null;
    private String condicaopagto = null;
    private String[] condicaoentrega = {“FOB- Fábrica: ESCHER / RJ”, “FOT- Fábrica: ESCHER / RJ”};
    private Integer validade = null;
    private Collection equipamentos = null;
    private String[] marcados = null;

    public String[] getMarcados() {
    return marcados;
    }
    public void setMarcados(String[] marcados) {
    this.marcados = marcados;
    }
    public String getNome() {
    return nome;
    }
    public void setNome(String nome) {
    this.nome = nome;
    }
    public Integer getNumero() {
    return numero;
    }
    public void setNumero(Integer numero) {
    this.numero = numero;
    }
    public Long getNumeroorc() {
    return numeroorc;
    }
    public void setNumeroorc(Long numeroorc) {
    this.numeroorc = numeroorc;
    }
    public String[] getTipos() {
    return tipos;
    }
    public void setTipos(String[] tipos) {
    this.tipos = tipos;
    }
    public String[] getCondicaoentrega() {
    return condicaoentrega;
    }
    public void setCondicaoentrega(String[] condicaoentrega) {
    this.condicaoentrega = condicaoentrega;
    }
    public String getCondicaopagto() {
    return condicaopagto;
    }
    public void setCondicaopagto(String condicaopagto) {
    this.condicaopagto = condicaopagto;
    }
    public String getDataemissao() {
    return dataemissao;
    }
    public void setDataemissao(String dataemissao) {
    this.dataemissao = dataemissao;
    }
    public String getPrazoentrega() {
    return prazoentrega;
    }
    public void setPrazoentrega(String prazoentrega) {
    this.prazoentrega = prazoentrega;
    }
    public String getReferencia() {
    return referencia;
    }
    public void setReferencia(String referencia) {
    this.referencia = referencia;
    }
    public Integer getValidade() {
    return validade;
    }
    public void setValidade(Integer validade) {
    this.validade = validade;
    }
    public Collection getEquipamentos() {
    return equipamentos;
    }
    public void setEquipamentos(Collection equipamentos) {
    this.equipamentos = equipamentos;
    }
    }
    [/code]

[code]/*

  • Created on 07/08/2005
  • TODO To change the template for this generated file go to
  • Window - Preferences - Java - Code Style - Code Templates
    */
    package br.com.escher.sisfab.orcamento.presentation;

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 br.com.escher.sisfab.application.presentation.SisfabDispatchAction;
import br.com.escher.sisfab.business.OrcamentoBusiness;
import br.com.escher.sisfab.datamodel.persistence.OrcamentoTO;

/**

  • @author Roberto Escher

  • TODO To change the template for this generated type comment go to

  • Window - Preferences - Java - Code Style - Code Templates
    */
    public class OrcamentoAction extends SisfabDispatchAction {

    public ActionForward gerarOrcamento(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

     OrcamentoActionForm oOrcamentoActionForm = (OrcamentoActionForm) form;
     //OrcamentoTO oOrcamento = oOrcamentoActionForm.getOrcamentoTO(); 
     OrcamentoTO oOrcamento = new OrcamentoTO();
     OrcamentoBusiness oOrcamentoDelegate = new OrcamentoBusiness();
    
     try {
     	oOrcamento.setNumero(oOrcamentoActionForm.getNumero());
     	oOrcamento = oOrcamentoDelegate.inicializaOrcamento(oOrcamento);
     	
     	oOrcamentoActionForm.setTipos(oOrcamento.getTipos());
     	oOrcamentoActionForm.setEquipamentos(oOrcamento.getEquipamentos());
     	oOrcamentoActionForm.setCondicaoentrega(oOrcamento.getCondicaoentrega());
     	
     	request.setAttribute("oOrcamentos", oOrcamentoActionForm);
     	request.setAttribute("oTipos", oOrcamentoActionForm.getTipos());
     	request.setAttribute("oEntregas", oOrcamentoActionForm.getCondicaoentrega());
     	request.setAttribute("oEquipamentos", oOrcamentoActionForm.getEquipamentos());
     	
     } catch (Exception e) {
     	return mapping.findForward(super.FORWARD_ERRO);
     }
     
     return mapping.findForward(super.FORWARD_GERAR_ORCAMENTO);
    

    }

    public ActionForward consolidarOrcamento(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

     OrcamentoActionForm oOrcamentoActionForm = (OrcamentoActionForm) form;
     
     // Estou perdido nesse ponto se puder me ajudar
     
     //OrcamentoTO oOrcamento = oOrcamentoActionForm.getOrcamentoTO();
     //OrcamentoBusiness oOrcamentoDelegate = new OrcamentoBusiness();
    
     try {
     	//UserContext user = (UserContext) request.getSession().getAttribute(UserContext.class.getName());
     	//Collection aEquipamento = user.getEquipamento();
     	
     	//Collection aEquipamento = request.getAttribute(aEquipamento);
     	 
     	request.setAttribute("oOrcamentos", oOrcamentoActionForm);
     	request.setAttribute("oTipos", oOrcamentoActionForm.getTipos());
     	request.setAttribute("oEntregas", oOrcamentoActionForm.getCondicaoentrega());
     	request.setAttribute("oEquipamentos",oOrcamentoActionForm.getEquipamentos());
     	
     } catch (Exception e) {
     	return mapping.findForward(super.FORWARD_ERRO);
     }
    
     return mapping.findForward(super.FORWARD_CONSOLIDAR_ORCAMENTO);
    

    }
    }
    [/code]