我在gwt共享文件夹中有一个类选择,带有一些set和get函数,如..
public class Select implements Serializable {
private static final long serialVersionUID = 1L;
String userid=null;
String name=null;
/******************Set********************/
public void setId(String userid) {
this.userid=userid;
}
public void setName(String name) {
this.name=name;
}
/******************get*************************/
public String getId() {
return userid;
}
public String getName() {
return name;
}
现在我从服务器调用了setid()和getid(),它正在运行。但是当我从客户端调用getid()时,它返回给我一个空值,请有人帮助我...
我的客户端代码是......
greetingService.select(new AsyncCallback<String>()
{
Select sel=new Select();
public void onSuccess(String result) {
System.out.println("client..id"+sel.getId());
});
答案 0 :(得分:0)
sel.getid()返回null,因为它没有被任何东西设置。您只需调用新的Select()并在客户端上创建一个新的Select对象。如果要从服务器中检索包含数据的Select对象,则需要通过RPC服务将其作为AsyncCallback回调的结果参数传递,如下所示:
greetingService.select(new AsyncCallback<Select>() {
public void onSuccess(Select result) {
// Do what you want with the Select object returned via server
}
public void onFailure(Throwable caught) {
System.out.println("Call failed " + caught.getMessage());
}
});
假设您已正确设置RPC服务,您将以常规方法处理服务器端:
public class GreetingServiceImpl extends RemoteServiceServletImpl {
public Select select() {
Select select = new Select();
select.setId(1);
return select;
}
}
您可能会发现本教程有用http://www.gwtproject.org/doc/latest/tutorial/RPC.html