DWR使用手记(二)

         还是前段时间写的《DWR使用手记》那是在第一次使用DWR时写的一些总结,对DWR做了一个大体的结构性的介绍,主是代码结构。文章链接在这: http://blog.csdn.net/fly29/archive/2006/03/01/613289.aspx

         在这中间,经历了换公司,然后被公司发配出差到现场维护,开发一些新需求,所以没能把中间一些开发经验总结予以分享,明天开始再一一总结吧,也算是对前段时间工作的一个总结吧。

         目前DWR已经升到2.0,也没能及时了解其最新特性。DWR总的来讲,是一个很好的框架,可以把js---java连接起来,方便在页面中直接调用java类中方法。这其中起最大作用的当然是bsf框架,也是apache的一个开源框架。通过在dwr.xml中进行配置也可以把javascript中的对象与java类中的model(或者叫domain对象进行转换),前几天在写代码时用到了这点,写个例子放在这。

   /* 声明一个javascript对象 */
function  book(name,author) {
      
this.name=name;
      
this.author=author;
}
   

 

// 写个类供页面中js调用BookTool
public   class  BookUtils {
       
public void addBook(Book book) {
             
//invoke business layer
       }

}


// domain
public   class  Book  {
      
private String name;
      
private String author;
      
//getter & setter here
}
 

 

这样在页面中,声明了一个book变量,直接调用BookTool的addBook(Book b)方法即可完成操作。例:

 

< script language = " javascript " >
function  add()  {
      
var b = new book("think in java","bruce");
      BookUtils.addBook(b);
}

</ script >
当然在页面顶部要加上:
< script type = ' text/javascript '  src = ' dwr/interface/BookUtils.js ' ></ script >

也要在dwr.xml中加上
< create creator = " new "  javascript = " BookUtils " >
        
< param name = " class "  value = " com.test.BookTool "   />
</ create >

其实从上面我们可以看出,每次调用类BookTool是new一个新的对象,因此完全可以在class BookTool中把Book的所有属性加进去,即可以是这样:
    public class BookUtils {
           private String name;
           private String author;
           //getter & setter
           public void addBook(Book b) {
              // do sth
           }
     }
这样可以在页面中直接修改BookUtils的属性, 然后调用其方法即可。不过为了更好使用OO,所以还是建议把域对象独立出来。

 

以上纯属个人拙见,期待与您交流。

QQ:236306746

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值