public List<SysQh> getList2(String id) {
String resource = "com/Admin/xml/SqlMapConfig.xml";
com.ibatis.sqlmap.client.SqlMapClient sqlMap = null;
List<SysQh> SysQh=null;
try {
java.io.Reader reader = com.ibatis.common.resources.Resources
.getResourceAsReader(resource);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (Exception e) {
e.printStackTrace();
}
try {
sqlMap.startTransaction();
SysQh=sqlMap.queryForList("getList2", id);
sqlMap.commitTransaction();
} catch (SQLException e) {
System.out.println(e.getMessage());
} finally {
try {
sqlMap.endTransaction();
} catch (SQLException e) {
e.printStackTrace();
}
}
return SysQh;
}//上面是一个ibatis返回的实体内有qh,name,pqh  function hello() {   
      //var ss = 'eee';  
    
     
        SysQhLogic.getList2("-1",callback);
       } 
     function callback(data)
       {   
         for(var i=0;i <data.length;i++){    
//alert(data[i].name);    
alert(data[i].qh);    
}        } //请问怎样才能接到data[i]的属性呢,现在提示name和qh不是对象或者属性。

解决方案 »

  1.   

    dwr配置文件怎么写的,SysQh类如何定义的,getList2返回的resultClass是getList2吗?
      

  2.   

       你有没有在dwr的配置文件里面配置暴露字段呢? 考虑到安全性的问题
        你不配置暴露字段,dwr是不会让你访问到他的
          配置暴露字段:
          <create javascript="linkAge" creator="new">
           <param name="class" value="com.forshine.util.LinkAge"></param>
          </create>
          <convert converter="bean" match= "com.forshine.entity.SubjectType"> 
            <param name="include" value="stfather,stid,stname"/> 
          </convert>     match= "com.forshine.entity.SubjectType"//对应bean
        value="stfather,stid,stname"  //对应字段
      

  3.   

    目前看来,如2楼所言,楼主应该是没有配置convert。假如你的SysQh的完整名称(带包名)是xxx.SysQh,则你在dwr.xml中加上这个配置试试:<convert converter="bean" match= "xxx.SysQh" /> 
    或者
    <convert converter="bean" match= "xxx.*" /> 
      

  4.   

    关于list<SysQh>  SysQh是一个实体。
    public class SysQh
    {
        private String qh;
        private String Name;
        private String pqh;    public void setQh(String Qh)
         {
                         .....
         }
         public String GetQh()
         {
                     .....
         }
    }
    请问这样的实体怎样暴露给dwr?怎么才能在前台访问?
      

  5.   

    (在3楼已经说过啦,呵呵)
    假如你的SysQh的完整名称(带包名)是xxx.SysQh,则你在dwr.xml中加上这个配置: 
    <convert converter="bean" match= "xxx.SysQh" /> 
    或者 
    <convert converter="bean" match= "xxx.*" /> 足矣
      

  6.   

    至于页面上的访问,楼主如果有兴趣可以看看这篇帖子,许有帮助。http://topic.csdn.net/u/20080930/17/95e5c994-bfd4-4c38-a107-47446346fc94.html