session是open的!close的话在main()方法中运行也会出错的

解决方案 »

  1.   

    偶先目测你的代码,没有问题
    然后在本地写了个测试方法,测试通过,和你在main()中测试的结果一样
    一般QuerySyntaxError是语法拼写的错误,楼主DEBUG一下,估计是Integer.parseInt(id[i])的参数不对,导致返回值拼成HQL语言时错误,
    那就在
    String[] id = request.getParameterValues("chkId");
    这一句设置断点看看吧,直觉中字符数组通过 getParameterValues 好像传不对的
      

  2.   

    String[] id = request.getParameterValues("chkId");
    没有问题的啊,可能取到数据!!
      

  3.   

    那你把String[] id 循环打印出来看看,是什么值
    再看看
    Integer.parseInt(id[i])
    里是什么值
      

  4.   

    选中了4,5,6 在action中打印出来的是4  5 6  方法执行中Integer.parseInt 打印出来的还没4 5 6 没有问题的.