Ola pessoal, estou com uma duvida…
Qual é o problema que está nesse código:
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%@ include file="conexao.jsp" %>
<%
String destinoAux = request.getParameter("txtdestino");
char caracter=' ';
char caracterAux=' ';
String destinoConcat="";
for(int i=0; i < destinoAux.length(); i++){
caracter = destinoAux.charAt(i);
caracterAux = destinoAux.charAt(i+1);
if((caracterAux!= ',')||(caracterAux!=' ')){
destinoConcat = destinoConcat + caracter;
}else{
ResultSet rss;
String destino="";
destinoConcat = destinoConcat + caracter;
i++;
try{
sql = "select id from usuarios where login = ? ";
pstm = con.prepareStatement(sql);
pstm.setString(1, (request.getParameter("txtdestino")));
rss = pstm.executeQuery();
if (rss.next()){ // se usuário existe
destino = rss.getString("id");
}else{
destino = "Erro";
}
}catch(SQLException e){
out.print(e.getMessage());
}
ResultSet rs=null;
if(!destino.equals("Erro")){
try{
sql = "INSERT INTO emails (id_remetente, id_destinatario, assunto, conteudo, data, hora, lida) values (?, ?, ?, ?, CURRENT_DATE, CURRENT_TIME, 0)";
pstm = con.prepareStatement(sql);
pstm.setString(1, (session.getAttribute("id").toString()));
pstm.setString(2, destino);
pstm.setString(3, (request.getParameter("txtassunto")));
pstm.setString(4, (request.getParameter("txtconteudo")));
int retorno = pstm.executeUpdate();
if (retorno > 0)
out.print("OK! E-Mail Enviado adicionado");
else
out.print("OPS! Erro ao Enviar");
}catch(Exception e){out.print("OPS! Erro ao Enviar" + e.getMessage());}
}else{
out.print("OPS! Erro ao Enviar: Destinatario Não Exite");
}
}
}
%>
<br>
<a href="email.jsp" >Voltar</a>
Revisei tudo e não consegui encontrar nada. Ele da esse erro na linha do charAt(i+1) mas não acredito que seja isso. O que seria ?
Segue a descrição do erro:
org.apache.jasper.JasperException: An exception occurred processing JSP page /projeto/envia.jsp at line 15
12:
13: for(int i=0; i < destinoAux.length(); i++){
14: caracter = destinoAux.charAt(i);
15: caracterAux = destinoAux2.charAt(i+1);
16: if((caracterAux!= ',')||(caracterAux!=' ')){
17: destinoConcat = destinoConcat + caracter;
18: }else{
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.StringIndexOutOfBoundsException: String index out of range: 15
java.lang.String.charAt(Unknown Source)
org.apache.jsp.projeto.envia_jsp._jspService(envia_jsp.java:93)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Desde ja muito Obrigado pessoal!
Abs!