还是前段时间写的《DWR使用手记》那是在第一次使用DWR时写的一些总结,对DWR做了一个大体的结构性的介绍,主是代码结构。文章链接在这:
http://blog.youkuaiyun.com/fly29/archive/2006/03/01/613289.aspx
//
写个类供页面中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
}
<
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的所有属性加进去,即可以是这样:
在这中间,经历了换公司,然后被公司发配出差到现场维护,开发一些新需求,所以没能把中间一些开发经验总结予以分享,明天开始再一一总结吧,也算是对前段时间工作的一个总结吧。
目前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;
}























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
















public class BookUtils {
private String name;
private String author;
//getter & setter
public void addBook(Book b) {
// do sth
}
}
这样可以在页面中直接修改BookUtils的属性,
然后调用其方法即可。不过为了更好使用OO,所以还是建议把域对象独立出来。
以上纯属个人拙见,期待与您交流。
QQ:236306746