GWT.create(MyClass.class) 给出 MyClass 必须是 class 的错误
GWT.create(MyClass.class) gives Error that MyClass must be a class
我正在尝试从我的 EntryPoint Class 调用 RemoteService。
但是,我在 GWT.create() 中收到错误。我正在为我的服务传递客户端接口。我得到的错误是它必须是 class.
19: private LoginServiceAsync loginServiceAsync = GWT.create(LoginService.class);
[错误] 第 19 行:重新绑定结果 'com.example.client.LoginService' 必须是 class
这是我在客户端文件夹中的 LoginService 代码:
package com.example.client;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
@RemoteServiceRelativePath("LoginService")
public interface LoginService {
boolean signUpUser(String name, String email, String password);
}
谁能告诉我我做错了什么?提前谢谢。
问题是我的接口没有扩展 RemoteService。
package com.example.client;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
@RemoteServiceRelativePath("LoginService")
public interface LoginService extends RemoteService {
boolean signUpUser(String name, String email, String password);
}
解决了我的问题,
我还必须在 LoginServiceAsync 中更改它:
void signUpUser(String name, String email, String password,com.google.gwt.user.client.rpc.AsyncCallback<java.lang.Boolean> arg4);
不确定为什么会这样,谁能解释一下?谢谢
GWT.create(MyClass.class)
首先查找替换规则或生成规则。如果 GWT 没有找到规则,它将执行 new MyClass()
.
因为您没有扩展 RemoteService
,GWT 找不到 generate-with-rule 并尝试 new
.
这就是您收到此错误的原因。
我正在尝试从我的 EntryPoint Class 调用 RemoteService。 但是,我在 GWT.create() 中收到错误。我正在为我的服务传递客户端接口。我得到的错误是它必须是 class.
19: private LoginServiceAsync loginServiceAsync = GWT.create(LoginService.class);
[错误] 第 19 行:重新绑定结果 'com.example.client.LoginService' 必须是 class
这是我在客户端文件夹中的 LoginService 代码:
package com.example.client;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
@RemoteServiceRelativePath("LoginService")
public interface LoginService {
boolean signUpUser(String name, String email, String password);
}
谁能告诉我我做错了什么?提前谢谢。
问题是我的接口没有扩展 RemoteService。
package com.example.client;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
@RemoteServiceRelativePath("LoginService")
public interface LoginService extends RemoteService {
boolean signUpUser(String name, String email, String password);
}
解决了我的问题, 我还必须在 LoginServiceAsync 中更改它:
void signUpUser(String name, String email, String password,com.google.gwt.user.client.rpc.AsyncCallback<java.lang.Boolean> arg4);
不确定为什么会这样,谁能解释一下?谢谢
GWT.create(MyClass.class)
首先查找替换规则或生成规则。如果 GWT 没有找到规则,它将执行 new MyClass()
.
因为您没有扩展 RemoteService
,GWT 找不到 generate-with-rule 并尝试 new
.
这就是您收到此错误的原因。