类名:
org.apache.commons.collections.BeanMap
用法:
//...得到orderLine
Map<String,Object> map = new BeanMap(orderLine);
map.put("vendorDiscount",orderLine.getProduct().getVendor().getDiscount());
//得到orderLine
Map<String,Object> map = new BeanMap(orderLine);
map.put("vendorDiscount",orderLine.getProduct().getVendor().getDiscount()); 使用场景:
dwr中可以直接把java对象转换成js对象传回,但是有时候需要在传回的对象上附加属性,例如在订单项(订单中的一行)中,我想附加相关
产品的
供应商的
信用等级的
优惠条件,如果直接把对象关系图传过去,需要传4层,其实我只要在订单项后附加一个属性就行了。所以我就先把订单项(OrderLine)转化为一个map,向这个map中put新的属性,这样传回到浏览器的对象还是和以前一样的,只是附加了一个vendorDiscount:0.6 .
其一:
<div height="300px" style="overflow:scroll;">...</div>后滚动条死活不出来,如果写成
<style>
.scrollbox{
height:300px;
overflow:scroll;
}
</style>
<div class="scrollbox">...</div>
就一切正常。
后来发现如果直接使用style属性,应该写成<div style="height:300px; overflow:scroll;">...</div>
nnd,郁闷,不禁敬仰美工的工作。
其二:
为了图简便,直接用dwr调用了manager的方法时,manager中引用的其他manager总是null,仔细想想,发现manager是由spring管理的,所以应该creator="spring",而不是creator="new"。得解。
这样调用终归不爽,还是应该有services才行,看来偷懒是不行了。
另:昨晚看了一下dwr2.0,发现ajax终于走到正道上了。Reverse Ajax! 在java中设置界面控件的内容,细粒度的请求和更新,由后台来主导完整业务逻辑,而html就像c/s程序中的资源文件一样被加载,这样才能真正适合
企业应用(网站还是用以前的才对)。环境已经成熟,到应用不知道还要等多久