ibatis搭好,用test程序测试正常,
struts单独JSP测试也 正常(action中没用到ibatis)但我用JSP提交表格到ACTION,action调用类里的方法,方法通过ibatis插入一条数据到数据库。结果异常了。而此方法在test中测试时却运行正常。description The server encountered an internal error () that prevented it from fulfilling this request.exceptionjava.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
是不是Struts + ibatis有什么要注意的地方,我没注意到啊!

解决方案 »

  1.   

    insert方法如下,其中title 是本类中的String属性,也是form中传递的参数。public String insertNotice(){
    SqlMapClient sqlMap = null;  
    String resource = "ibatis/map/SqlMapConfig.xml";
    try {
    Reader reader = Resources.getResourceAsReader(resource);
    sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
    System.out.println("new examplemain!");
    } catch (Exception e) {

    e.printStackTrace();
    }

    try {
    sqlMap.startTransaction();
    NoticeBean nb = new NoticeBean();
    nb.setTitle(title);
    sqlMap.insert("in",nb);
    sqlMap.commitTransaction();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    return "success";
    }
      

  2.   

    sqlMap.insert("in",nb); LZ in 你在哪里有这个值的一个声明或者是sqlmap.xml中有这个<insert id="in" > 你的配置文件中有没有这个标签 如果是没有的话 ibatis就找不到 还有一个是带上命名空间比较好