DWR dando problema na minha consulta?[RESOLVIDO]

1 resposta
skekeu

Galera, boa tarde,

Passei o dia todo tentando resolver um probleminha aqui, mas não teve jeito ...

Tipo....
Tenho um cadastro de controle de emissão de documentos. Nesse cadastro utilizo um select que é preenchido dinamicamente com ajax-DWR.

jsp de cadastro

<html:form action="CadastroControleEmpresa" method="post" styleId="form">
                    Cliente/Empresa* <html:select property="cliente.cliente_cod" styleId="clicod">
                    <html:option value="0">Selecione</html:option>
                    <c:forEach var="c" items="${listaCli}">
                       <html:option value="${c.cliente_cod}">${c.razao}</html:option> 
                    </c:forEach>
                    </html:select><br/>
                    <label style="color:#CC0000; font-size:10px;" id="vclicod"></label><br/>
                    
                    Repartiçao emissora* <html:select property="reparticao.reparticao_cod" styleId="repcod" onchange="popularSelectDoc()">
                    <html:option value="0">Selecione</html:option>
                    <c:forEach var="r" items="${listaRep}">
                       <html:option value="${r.reparticao_cod}">${r.nome} - ${r.apelido}</html:option> 
                    </c:forEach>    
                    </html:select><br/>
                    <label style="color:#CC0000; font-size:10px;" id="vrepcod"></label><br/>
                    
                    Documento* <html:select property="doc.doc_cod" styleId="doccod">
                        <html:option value="0">Selecione a repartição</html:option>  
                
                    </html:select> <br/>
                    <label style="color:#CC0000; font-size:10px;" id="vdoccod"></label><br/>
                    
                    Data de emissão* <html:text property="data_emissao" styleId="dtemissao" value="" size="10" onkeypress="return txtBoxFormat(this, '99/99/9999', event);" maxlength="10"/>
                    <br/>
                    <label style="color:#CC0000; font-size:10px;" id="vdtemissao"></label><br/>
                    
                    Data de validade* <html:text property="data_validade" styleId="dtvalidade" value="" size="10" onkeypress="return txtBoxFormat(this, '99/99/9999', event);" maxlength="10"/>
                     - <input id="sel" style="border:1px solid #ffffff;" onclick="validade();" type="checkbox" value="  "/><span style="font-weight:normal;"><i> O documento não possui validade</i></span><br/>          
                    <label style="color:#CC0000; font-size:10px;" id="vdtvalidade"></label><br/>
                    
                    <html:hidden property="update_por" value="${sessao}"/><br/>
                   
                    
                    
                    Comentários <html:textarea property="comentarios" styleId="fcomentarios" value="" style="border: 1px solid #B0D7EC;">
                        
                    </html:textarea><br/>
                    <label style="color:#CC0000; font-size:10px;" id="vcomentarios"></label><br/>
                    
                    <br/><br/>
                    <center>
                    <html:button value="Cadastrar" property="" onclick="validaControleEmpresa();"/>
                    <input type="reset" value="Apagar" />
                    </html:form>

esse é o meu FacadeAjax

public class FacadeAjax {
    
    /** Classe que trabalha com o DWR para popular select com ajax */
    
    
    public List<Doc> getPopulaDoc(int repcod){
        
        List<Doc> listaDoc = new ArrayList<Doc>();
    
    if(repcod > 0){        
        
    try{   
    DocDao dd = new DocDao();    
    listaDoc = dd.listaTodosTiposDocRep(repcod);    
    }catch(Exception e){
    e.printStackTrace();
    }           
        
    }
   return listaDoc;
}
}

essa é a função javascript

function popularSelectDoc(){
var repcod = DWRUtil.getValue("repcod");
FacadeAjax.getPopulaDoc(repcod, montaCombo);
}


function montaCombo(data){
if(data<1){
DWRUtil.removeAllOptions("doccod");
DWRUtil.addOptions("doccod", ["Selecione a repartição"]);
}else{
DWRUtil.removeAllOptions("doccod");
DWRUtil.addOptions("doccod", data, "doc_cod", "doc");
}
}

Até ai beleza tudo funciona direitinho, mas se eu for consultar um registro que cadastrei agora ... ele não aparece na minha consulta ... porem se eu fechar o browser e der um limpar/construir e fizer a consulta novamente tá lá o registro...

Agora o mais estranho(pelo menos pra mim) .... se eu tirar a função ajax do cadastro tudo funciona perfeitamente, até a consulta...

Não sei se consegui explicar bem ... será que alguem sabe com resolver isso?????

1 Resposta

skekeu

opa galera,

consegi resolver aqui.
só foi mudar o Fetch.Type do meu relacionamento pra EAGER q funcionou direitinho. :wink:

@OneToMany(mappedBy="doc", fetch=FetchType.EAGER) private List<ControleDocumentosEmpresa> controle;

Criado 19 de janeiro de 2010
Ultima resposta 20 de jan. de 2010
Respostas 1
Participantes 1