标题有点大,但确实因为这个自动getter让我查代码查了几天,差点要改实现方法了.
为简化,对应VO就不贴出来了
java pojo:
/** *为简化,只列举两个字段 */ public class WestMedicationBo implements 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代码改为:
public boolean getIsPaid() { return isPaid; } public void setIsPaid(boolean isPaid) { this.isPaid = isPaid; }
即可实现java对象boolean和as boolean的双向映射了。郁闷之下,差点准备将几个boolean字段改为String来实现了.
ps:je的代码功能还需要加强,排版排了半天也还有问题,算了不排了
=================
写了个新手帖...