darrenzhu 发表于 2013-2-3 12:14:13

关于Boolean类型在flex与java中间传递的问题

/**
*为简化,只列举两个字段
*/
public class WestMedicationBoimplements Serializable   
{   
    private static final long serialVersionUID = 1L;   
    private boolean isPaid;   
    private long rpId;   

//以下是用eclipse自动自动getter,setter得到,主要注意boolean类型   
          public boolean isPaid() {   
      return isPaid;   
    }   

    public void setPaid(boolean isPaid) {   
      this.isPaid = isPaid;   
    }   
//getter,setter....   
}

使用BlazeDS与java交互,你会很郁闷的发现isPaid直接给它true,到前台也得到的只是false,开始还怀疑莫非boolean映射有问题?后来突然想到, amf将java数据反序列化回vo时, 应该是直接调用java 对象的get方法,而将vo转换为java对象时则是调用setter。这里ide自动生成的getter,setter对boolean需要我们手动调整,将上面getter,setter代码改为:
Java代码
public boolean getIsPaid() {   
    return isPaid;   
}   

public void setIsPaid(boolean isPaid) {   
   this.isPaid = isPaid;
}
页: [1]
查看完整版本: 关于Boolean类型在flex与java中间传递的问题