界面是选中复选框进行删除servlet------------------------
 
String ids = request.getParameter("id");
 获取到界面的值是输出   : 1;2;3;4;5;
ids = ids.substring(0,ids.length() -1);
String[] idsA = ids.split(";");
for(String idsB : idsA){
Integer ext = idsB.indexOf(",");
System.out.println(ext +"----------============");输出来的是:-1 
String id = idsB.substring(0, ext);
String[] idsUrlArray = id.split(",");
for (String urlid : idsUrlArray) {
if(this.man.Man(Integer.valueOf(urlid)){
   data ="删除成功"
}else {
   data ="删除失败"
}
}
}

out.print(data);
out.flush();
out.close();
}
---------------------------------报错
严重: Servlet.service() for servlet manage threw exception
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
帮忙解决下,谢谢   在线等。

解决方案 »

  1.   

    String[] idsA = ids.split(";");
    for(String idsB : idsA){
    Integer ext = idsB.indexOf(",");
    System.out.println(ext +"----------============");输出来的是:-1  
     idsA是数组了,不存在什么“;”或者“,”,而idsB是它的元素,是具体的某个数字的字符串表示,在你这里就是“1”,“2”,“3”,“4”,“5”.
      

  2.   

    你试下这样行不
    for(String idsB : idsA){
    Integer ext = idsB.indexOf(",");
    System.out.println(ext +"----------============");输出来的是:-1 
    String id = idsB.substring(0, ext);
    String[] idsUrlArray = id.split(",");
    for (String urlid : idsUrlArray) {
    if(this.man.Man(Integer.valueOf(urlid)){
    这段代码改成:
    for(String idsB : idsA){
          if(this.man.Man(Integer.valueOf(idsB)){改成这样后,在你那里多了一个“}”
    删了它,试下。
      

  3.   

    朋友,那括号不要紧有错的话,那MyEclipse 会提示的。
               但就是怎么实现那功能呢? 就是回报错
      

  4.   

    朋友们,谢谢你们   搞定了。
    PrintWriter out = response.getWriter();
    // String data = "";
    // Boolean isDelSuccess = true;
    // String ids = request.getParameter("id");
    //     ids = ids.substring(0,ids.length() -1);
    //     String[] idsA = ids.split(",");
    //     for(String idsB : idsA){
    //      ManageInfo manage = new ManageInfo();
    //      manage.setId(Integer.valueOf(idsB));
    //      if (this.manageservice.ManageDetele(manage)) {
    // data = "success";
    // } else {
    // data = "failed";
    // }
    // if (!isDelSuccess) {
    // break;
    // }
    //     }
    // out.print(data);
    // out.flush();
    // out.close();
    // }