dingzhiqiang123 2009-10-19 10:39
浏览 252
已采纳

Dwr调用Java类,返回的JavaBean在前台Extjs中的类型问题

[b]1:需要返回的JavaBean[/b]:
[code="java"]
package cn.dzq.test;
public class info {
private long id;
private String name;
private int sex;
private String email;
private String tel;
private String addTime;
private String descn;

public long getId() {
    return id;
}

public void setId(long id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getSex() {
    return sex;
}

public void setSex(int sex) {
    this.sex = sex;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getTel() {
    return tel;
}

public void setTel(String tel) {
    this.tel = tel;
}

public String getAddTime() {
    return addTime;
}

public void setAddTime(String addTime) {
    this.addTime = addTime;
}

public String getDescn() {
    return descn;
}

public void setDescn(String descn) {
    this.descn = descn;
}

@Override
public boolean equals(Object obj) {
    if(obj instanceof info){
        info in=((info)obj);
        if((in.getId()==this.id)&&(in.getName().equals(this.name))&&(in.getSex()==this.sex)&&(in.getDescn().equals(this.descn))&&(in.getAddTime().equals(this.getAddTime()))&&(in.getTel().equals(this.tel)))
        {
            return true;
        }
    }
    return false;
}

@Override
public String toString() {
    return this.id+"\t"+this.name;
}

}

[/code]
[b]2:Dwr调用的后台方法类:[/b]
[code="java"]
package cn.dzq.test;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class InfoManager extends HibernateDaoSupport{
public List getResult() {
List list=this.getHibernateTemplate().find(" from info");
for(int i=0;i<list.size();i++){
System.out.println(i+":\t"+((info)list.get(i)).getName());

//验证返回的List不为空
}
return list;
}

}
[/code]

[b]3:Spring,hibernate,以及dwr与sring的整合的配置都没有问题,我把dwr的配置片段放在下面(其他部分没有错误)[/b]
[code="java"]




[/code]
[b]4:前台ExtJs测试代码片段(我前台是个grid想在这里直接用store.loadData(data)装载数据,):[/b]
[code="java"]
Ext.onReady(function() {
var cm = new Ext.grid.ColumnModel([

                {
                    header : '编号',
                    dataIndex : 'id'
                },

                {
                    header : '名称',
                    dataIndex : 'name'
                },

                {
                    header : '性别',
                    dataIndex : 'sex'
                },

                {
                    header : '邮箱',
                    dataIndex : 'email'
                },

                {
                    header : '电话',
                    dataIndex : 'tel'
                },

                {
                    header : '添加时间',
                    dataIndex : 'addTime'
                },

                {
                    header : '备注',
                    dataIndex : 'descn'
                }

        ]);

        var store = new Ext.data.JsonStore({
                    fields : ['id', 'name', 'sex', 'email', 'tel','addTime', 'descn']
                });

        // 调用DWR取得数据

        info.getResult(function(data) {
            alert(data);//问题就在和这里,alert的只有一个逗号
            for(var i=0;i<data.length;i++){
             alert(data[i]);
                           /*每次循环的结果都是null,但当换成String是可以打出来 我分析是在这里不识别后台的bean
                            但是我的都配置了啊,不知道什么原因???*/
            }
                    alert("data:" + data);
                    store.loadData(data);

                });

        var grid = new Ext.grid.GridPanel({
                    renderTo : 'grid',
                    store : store,
                    cm : cm

                });
    })

[/code]
[b]5:我的问题是:[/b]
这个时候前台答应出来的data只有一个逗号,循环data发现每项都是空的,但这个时候后台返回的list确实不是空的。
我另外写了测试代码,要是返回的是基本类型,或者是String在前台就可以直接调用,那么对于这种bean的返回怎么处理?
我配置了转换器:
怎么没有起到作用啊?
请各位帮忙看看,现在这里谢了。
[b]问题补充:[/b]
楼上这位哥们【hiphunter921 (初级程序员)】
你的写法我试过了
还是不对的
问题的本质不是怎么在前台循环后台来的List
而是在前台就根本不识别后台的JavaBean
即:List
[b]问题补充:[/b]
哈哈 太幼稚了 都是粗心惹得祸

我一直把

看成:


多谢路上哥们(hiphunter921 )指点
散分了

  • 写回答

2条回答 默认 最新

  • iteye_11438 2009-10-19 15:52
    关注

    <[color=red]convert[/color] match="cn.dzq.test.info" converter="bean"/>

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#Mybatis#的问题:怎么办重复数据如下"KSDM":37,"KSMC":"呼吸内科门诊","ksdm":37,"ksmc":"呼吸内科门诊"xml文件填写
  • ¥40 servlet的web程序部署出错
  • ¥50 activiti 新建流程系列问题
  • ¥50 为什么我版本升级之后运行速度变慢5倍??
  • ¥15 如何在gazebo中加载机械臂和机械手
  • ¥15 纯运放实现隔离采样方案设计
  • ¥20 easyconnect无法连接后缀带.com的网站,一直显示找不到服务器ip地址,但是带有数字的网站又是可以连接上的,如何解决
  • ¥15 电脑开机过商标后就直接这样,求解各位
  • ¥15 mysql , 用自己创建的本地主机和用户名 登录不上
  • ¥15 关于#web项目#的问题,请各位专家解答!