假设你有这样的 Java 方法:
public class Remote { public void setPerson(Person p) { this.person = p; } }
Person 对象的结构是这样的:
public Person { private String name; private int age; private Date[] appointments; // getters and setters ... }
那么你可以在 Javascript 中这样写:
var p = { name:"Fred Bloggs", age:42, appointments:[ new Date(), new Date("1 Jan 2008")]}; Remote.setPerson(p);
在 Javascript 没有出现的字段,在 Java 中就不会被设置。因为 setter 都是返回’void’,我们就不需要使用 callback 函数了。
如果你想要一个返回 void 的服务端方法的完整版,你也可以加上 callback 函数。很明显 DWR 不会向它传递任何参数。