本帖最后由 lihao1129 于 2009-09-01 11:01:16 编辑

解决方案 »

  1.   

    没看明白什么意思,是要在javascript里面调用Java代码的函数?
    这样直接调用是不行的,要把你的java代码函数弄成一个servlet,然后在js里面用ajax方法做一次调用取responseText的内容
      

  2.   

    我这个流程没有问题的,可以执行到ACTION 也可以删除,不过 在CHECKBOX全选删除的时候 结果删除掉了 还报异常..
      

  3.   

    setString("id", id)应该提前转化成int类型吧
      

  4.   

        for (var i=inputs.length;i>0;i--)
    你反向删除~~~
     
      

  5.   

    在将 nvarchar 值 '?method=toCheckboxDel' 转换成数据类型 int 时失败。 
    在类型转换出问题了
     你好好检查下你的程序
      

  6.   

    at com.whhd.dao.HdmainDAO.findClass(HdmainDAO.java:87) 
    at com.whhd.biz.HdmainImpl.findClass(HdmainImpl.java:112) 这里已经指明错误的地方了。 HdmainDAO.java:87 行
      

  7.   

     for (int i = 0; i < num.length; i++) {
                System.out.println(num[i]);
                Hdmain p = hdmainBiz.findClass(num[i]);
                hdmainBiz.deleteHdmain(p);
            }
    此处你该为 for (int i = 0; i < num.length-1; i++).....
    应该是逗号的问题
      

  8.   

    这里id只不过是随便给的个名字,其实还是传入的String
    主要问题是,找了半天 都没有找到 我哪里转过类型的public Hdmain findClass(final String id) {
            System.out.println("进入到findClass:"+id);
            return  (Hdmain) super.getHibernateTemplate().execute(new HibernateCallback(){
                public Object doInHibernate(Session arg0)
                        throws HibernateException, SQLException {
                    // TODO Auto-generated method stub
                    String sql = "FROM Hdmain h WHERE h.mainId=:id";
                    Hdmain hdmain = (Hdmain) arg0.createQuery(sql)
                    .setString("id", id)
                    .uniqueResult();
                    return hdmain;//87行代码
                }
            });
        }
      

  9.   

    写错了 87行 是上面的 .uniqueResult();
      

  10.   

    逗号早在String num[] = strId.split(","); 截取成数组分开了 我打印到控制台看了的 没有问题
      

  11.   

    你看看是不是逗号的问题
    for (int i = 0; i < num.length-1; i++)..... 
      

  12.   

    for (int i = 0; i < num.length-1; i++)id:2545,2546,2547,2548,2551,2552,2553,2556,2557,?method=toCheckboxDel
    2545
    2546
    2547
    2548
    2551
    2552
    2553
    2556
    2557
    for (int i = 0; i < num.length; i++)
    id:2545,2546,2547,2548,2551,2552,2553,2556,2557,?method=toCheckboxDel
    2545
    2546
    2547
    2548
    2551
    2552
    2553
    2556
    2557
    结果上没有区别?
      

  13.   

    id:2545,2546,2547,2548,2551,2552,2553,2556,2557,?method=toCheckboxDel id串后面这个是怎么来的?
      

  14.   

    在将 nvarchar 值 '?method=toCheckboxDel' 转换成数据类型 int 时失败。 
    id:2545,2546,2547,2548,2551,2552,2553,2556,2557,?method=toCheckboxDel 
    for (int i = 0; i < num.length-1; i++)
    for (int i = 0; i < num.length; i++) 
     不可能没区别   你传id的时候一定把?method=toCheckboxDel' 也传进去了··
    不然程序不会报将 nvarchar 值 '?method=toCheckboxDel' 转换成数据类型 int 时失败。
    你设断点 好好查查