[RESOLVIDO] Erro JSP Error Verificação de Download
9 respostas
N
nikanorJr
Boa tarde galera,
Estou com um erro:
[b]
JSP Error
Exception:
java.lang.ArrayIndexOutOfBoundsException: 2
[/b]
O meu codigo é este:
publicStringvisualizarArquivos(Stringteste){Stringretorno=null;Stringdiretorio="/arquivos";System.out.println("####################################### Diretorio dos arquivos: "+diretorio);Filefile=newFile(diretorio);Fileafile[]=file.listFiles();inti=0;System.out.println("####################################### Antes do For: ");for(intj=afile.length;i<j;i++){Filearquivos=afile[i];System.out.println("####################################### Lista de arquivos: "+afile[i].getName());if(afile[i].getName()==teste.replaceAll("\\D","")){System.out.println("####################################### "+teste);System.out.println("####################################### if: Y");retorno="Y";}else{System.out.println("####################################### "+teste);System.out.println("####################################### else: N");retorno="N";}}System.out.println("####################################### Lista de arquivos: "+afile[i].getName());returnretorno;}
Utilizo este codigo para verificar se existe o cnpj (que é o nome do arquivo) em um diretório para que o mesmo possa exibir uma mensagem depois no jsp que o arquivo não foi encontrado e se for encontrado ele faz o download.
publicStringvisualizarArquivos(Stringteste){Stringretorno=null;try{Stringdiretorio="/arquivos";System.out.println("####################################### Diretorio dos arquivos: "+diretorio);Filefile=newFile(diretorio);Fileafile[]=file.listFiles();inti=0;System.out.println("####################################### Antes do For: ");for(intj=afile.length;i<j;i++){Filearquivos=afile[i];System.out.println("####################################### Lista de arquivos: "+afile[i].getName());if(afile[i].getName()==teste.replaceAll("\\D","")){System.out.println("####################################### "+teste);System.out.println("####################################### if: Y");retorno="Y";}else{System.out.println("####################################### "+teste);System.out.println("####################################### else: N");retorno="N";}}}catch(ArrayIndexOutOfBoundsExceptione){System.out.println("The Error is: "+e);e.printStackTrace();}// System.out.println("####################################### Lista de arquivos: " + afile[i].getName());returnretorno;}
N
nikanorJr
Porem,
tem um problema que no for ele só seta a ultima alternativa.
Exemplo:
se tiver o arquivo.pdf
e arquivo2.pdf
e eu enviar arquivo.pdf
ele vai retornar “N”
Pois ele só esta retornando o ultimo valor consultado
N
nikanorJr
Pessoal, todos os erros ja arrumados porem preciso de uma ajuda.
<%@pageimport="java.util.Iterator"%><%@pageimport="java.util.ArrayList"%><%@pageimport="java.util.List"%><%@pageimport="java.lang.String"%><%@pageimport="java.io.PrintWriter"%><%Stringcnpj1="";cnpj1=request.getParameter("cnpj");%><%Stringcnpj2="";cnpj2=request.getParameter("cnpjMask");StringcnpjPdf="";cnpjPdf=cnpj1+".pdf";%><html><head><title>titulo</title><linkhref="css/default.css"type="text/css"charset="UTF-8"rel="stylesheet"><metahttp-equiv="Content-Type"content="text/html; charset=iso-8859-1"><METAHTTP-EQUIV="Pragma"CONTENT="no-cache"><METAHTTP-EQUIV="Expires"CONTENT="-1"></head><scriptsrc="js/jquery-1.2.6.pack.js"type="text/javascript"></script><scriptsrc="js/jquery.maskedinput-1.1.4.pack.js"type="text/javascript"/></script><%Stringcnpjdown=null;%><scripttype="text/javascript">//document.form_consulta.cnpj.disable = true;$(document).ready(function(){cnpj.style.visibility='hidden';$("#cnpjMask").mask("99.999.999/9999-99");$("#submita").click(function(){var1=$("#cnpjMask").val();varteste=$("#cnpj").val(var1.replace(/[^0-9]+/g,""));varteste2=teste+".pdf";//alert(teste2);$("form_consulta").submit();$("#mostra2").show();});<%if(cnpjPdf.length()>9)out.print("$('#mostra2').show();");%>});functiondownladTreinamento(file){<%if(cnpjdown=="Y"){System.out.println("#################### Valor do cnpjdown: "+cnpjdown);%>window.open('../arquivos/'+file);<%}else{System.out.println("#################### Valor do cnpjdown: "+cnpjdown);%>alert("Arquivo desejado não encontrado");<%}%>}</script><body><%RendimentoActionra=newRendimentoAction();Stringlogin=u.getLogin();Stringcnpjforn=ra.CnpjFornecedor(login);System.out.println("#################### Passou a declaracao da variavel do rendimento");if(cnpjforn=="not"){cnpjdown=ra.visualizarArquivos(cnpjPdf);System.out.println("#################### Valor do cnpjdown ANTES DO JAVASCRIPT: "+cnpjdown);%><divclass="txt_v11" id="digita" style="display:block;" align="center"> <form name="form_consulta" id="form_consulta" action="rendimento.jsp" method="POST" > <font size="4"><b>Informe o CNPJ desejado para a obtenção do rendimento:</b></font><br><br> <input name="cnpj" type="text" id="cnpj"size="18" maxlength="18" /> <input name="cnpjMask" type="text" id="cnpjMask"size="18" maxlength="18" /> <input type="submit" id="submita" value="Enviar"> </form> </div><br><br> <div class="txt_v11" id="mostra2" align="center" style="display:none;"> <table border="0" align="center"> <tr> <td></td> <td>  </td> <td></td> <td>Para baixar seu rendimento <a href="javascript:downladTreinamento('<%=cnpjPdf%>');" target="_blank">clique aqui</a></td> </tr> </table> </div> <% }else{ cnpjdown = ra.visualizarArquivos(cnpjforn); System.out.println("####################ValordocnpjdownANTESDOJAVASCRIPT:"+cnpjdown); %> <div class="txt_v11" id="mostra1" style="display:block;"align="center"> <table border="0" align="center"> <tr> <td></td> <td>  </td> <td><%=cnpjforn%></td> <td>Para baixar seu rendimento <a href="javascript:downladTreinamento('<%=cnpjforn%>');" target="_blank">clique aqui</a></td> </tr> </table> </div> <% } %> </body></html>
Preciso criar uma mensagem de erro se o arquivo não for encontrado porem não estou conseguindo.
Aguardo
N
nikanorJr
PESSOAL AQUI A SOLUÇÃO COMPLETA RESOLVIDA!!
valeu pela ajuda!!!
<%@pageimport="java.util.Iterator"%><%@pageimport="java.util.ArrayList"%><%@pageimport="java.util.List"%><%@pageimport="java.lang.String"%><%@pageimport="java.io.PrintWriter"%><%Stringcnpj1="";cnpj1=request.getParameter("cnpj");%><%Stringcnpj2="";cnpj2=request.getParameter("cnpjMask");StringcnpjPdf="";cnpjPdf=cnpj1+".pdf";Stringcnpjdown=null;Stringcnpjdownf=null;%><html><head><title>pagina</title><linkhref="css/default.css"type="text/css"charset="UTF-8"rel="stylesheet"><metahttp-equiv="Content-Type"content="text/html; charset=iso-8859-1"><METAHTTP-EQUIV="Pragma"CONTENT="no-cache"><METAHTTP-EQUIV="Expires"CONTENT="-1"></head><scriptsrc="js/jquery-1.2.6.pack.js"type="text/javascript"></script><scriptsrc="js/jquery.maskedinput-1.1.4.pack.js"type="text/javascript"/></script><scripttype="text/javascript">//document.form_consulta.cnpj.disable = true;$(document).ready(function(){cnpj.style.visibility='hidden';$("#cnpjMask").mask("99.999.999/9999-99");$("#submita").click(function(){var1=$("#cnpjMask").val();varteste=$("#cnpj").val(var1.replace(/[^0-9]+/g,""));varteste2=teste+".pdf";//alert(teste2);$("form_consulta").submit();$("#mostra2").show();});<%if(cnpjPdf.length()>9)out.print("$('#mostra2').show();");%>});</script><body><%Stringlogin=u.getLogin();Stringcnpjforn=ra.CnpjFornecedor(login);System.out.println("#################### Passou a declaracao da variavel do rendimento");if(cnpjforn=="not"){cnpjdown=ra.visualizarArquivos(cnpjPdf);System.out.println("#################### Valor do cnpjdown ANTES DO JAVASCRIPT: "+cnpjdown);%><divclass="txt_v11" id="digita" style="display:block;" align="center"> <form name="form_consulta" id="form_consulta" action="rendimento.jsp" method="POST" > <font size="4"><b>Informe o CNPJ desejado para a obtenção do rendimento:</b></font><br><br> <input name="cnpj" type="text" id="cnpj"size="18" maxlength="18" /> <input name="cnpjMask" type="text" id="cnpjMask"size="18" maxlength="18" /> <input type="submit" id="submita" value="Enviar"> </form> </div><br><br> <div class="txt_v11" id="mostra2" align="center" style="display:none;"> <table border="0" align="center"> <tr> <td></td> <td>  </td> <td></td> <td>Para baixar seu rendimento <a href="javascript:downladTreinamento('<%=cnpjPdf%>');" target="_blank">clique aqui</a></td> </tr> </table> </div> <% }else{ cnpjdown = ra.visualizarArquivos(cnpjforn); System.out.println("####################ValordocnpjdownANTESDOJAVASCRIPT:"+cnpjdown); %> <div class="txt_v11" id="mostra1" style="display:block;"align="center"> <table border="0" align="center"> <tr> <td></td> <td>  </td> <td><%=cnpjforn%></td> <td>Para baixar seu rendimento <a href="javascript:downladTreinamento('<%=cnpjforn%>');" target="_blank">clique aqui</a></td> </tr> </table> </div> <% } %> <script>function downladTreinamento(file){ <% if (cnpjdown == "Y"){ System.out.println("####################Valordocnpjdown:"+cnpjdown); %> window.open('../arquivos/'+file); <% }else{ System.out.println("####################Valordocnpjdown:"+cnpjdown); %> alert("Arquivonãoencontrado"); <% } %>}</script> </body></html>