blazeds (java boolean类型) 慎用eclipse的自动getter,setter

标题有点大,但确实因为这个自动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的代码功能还需要加强,排版排了半天也还有问题,算了不排了

 

=================

写了个新手帖...

 

你可能感兴趣的:(java,eclipse,ide,sun,actionscript)