Problemas com Logic:iterate

Substitua o codigo abaixo:

 request.setAttribute("testeLista", softwareVO.getSoftwareFornecedor());

Por:

ArrayList testeLista = new ArrayList(); testeLista.add("3"); testeLista.add("4"); request.setAttribute("testeLista", testeLista);
Substitua a declaracao do seu iterate por:

 <logic:iterate name="testeLista" id="fornecedor" indexId="idx" type="java.lang.String">

E remova o atributo property do bean:write, deixando assim:

 <bean:write name="fornecedor"/>

Veja se assim exibe o 3 e o 4 no seu jsp.

Não exibiu…deu o seguinte erro:

    [ServletException in:/views/software/cadSoftware_detail.jsp] /views/software/cadSoftware_detail.jsp(59,83) According to TLD, tag bean:write must be empty, but is not' 

e no jsp, eu declarei da seguinte maneira:

 <TR class="lbl1">
     <TD>
         <TABLE>
       
             <logic:iterate name="testeLista" id="fornecedor" indexId="idx" type="java.lang.String">
                 <TR>
                     <TD width="5%">
                        <TD width="5%"><input type="text" name="fornecedor" value="<bean:write name="fornecedor"> "/></TD>
                     </TD>
                 </TR>             
             </logic:iterate>

         </TABLE>
     </TD>
 </TR>

Removi o input type=“text” e continua aparecendo a mesma mensagem! Não tem nada preenchido

O problema esta na tag bean:write, inlcluia a barra antes de fechar a tag:

<TD width="5%"><input type="text" name="fornecedor" value="<bean:write name="fornecedor"/> "/></TD>

Ah garoto…agora funcinou :smiley:

Entendi como funciona o logic:iterate, mas voltando ao problema principal…eu envio os dados para a tabela através do VO filho ( SoftwareFornecedorVO ), então eu preciso buscar ele e trazer ele preenchido correto? Mas a list ‘softwareFornecedor’, eu criei ela no VO pai ( SoftwareVO ). Como que eu posso popular ele e exibir ele sendo que a lista está no pai e qm envia é o filho?

Eu vou precisar criar um BusinessDelegate para o SoftwareFornecedorVO, como este abaixo, para popular o VO do mesmo:

        	SoftwareVO softwareVO = (SoftwareVO) getBusinessDelegate().findById(((PersistentObjectGenerate)form).getPersistentObj());            

Mas depois, como que vou popular a lista ‘softwareFornecedor’ para trazer e exibir no jsp?

Teve algo que eu esqueci de postar, é como eu populo para inserir, através do form…vou postar ele aqui abaixo:

        List listSoftwareFornecedor = new ArrayList();
        for(int i = 0; fornec != null && i < fornec.length; i++) {
        	String codFornecedor = fornec[i];
        	SoftwareFornecedorVO softwareFornecedor = new SoftwareFornecedorVO();
        	softwareFornecedor.setCodFornecedor(Integer.valueOf(codFornecedor));
        	listSoftwareFornecedor.add(softwareFornecedor);
        }
        softwareVO.setSoftwareFornecedor(listSoftwareFornecedor);

Alguma luz para eu prosseguir? :smiley:

[]'s

Eu tentei o seguindo código no Action:

    public ActionForward showDetail(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws GpbrPersistException, WebActionException {
        try {
        	SoftwareVO softwareVO = (SoftwareVO) getBusinessDelegate().findById(((PersistentObjectGenerate)form).getPersistentObj());            
        	request.setAttribute("softwareVO", softwareVO);
        	SoftwareFornecedorVO softwareFornecedorVO = (SoftwareFornecedorVO) getBusinessDelegate().findById(((PersistentObjectGenerate)form).getPersistentObj());
        	request.setAttribute("softwareFornecedorVO", softwareFornecedorVO);


        } catch (GpbrPersistException e) {
            throw new GpbrPersistException("Erro ao fazer consulta de Software.", e);
        }
        return mapping.findForward("detailCadSoftware");
    }

mas ele da erro na linha 94 que é a SoftwareFornecedorVO softwareFornecedorVO …

Parece que vc esta utilizando algum framework para persistencia, certo?

Eu nao conheco esses frameworks e nao vou poder lhe ajudar muito nesse caso. Sugiro que vc crie um novo topico para que possas obter ajuda mais rapidamente.

Beleza?

ok :smiley:

Valew pela ajuda Marcel!!