Java 在GWT应用程序中从不同类调用方法
我在GWT应用程序中使用UIBinder创建了两个java类。 我想借助EntryPoint类中声明的公共方法将一个页面导航到另一个页面 但是,我无法在UIBinder类的按钮单击事件上访问EntryPoint类的方法 我的代码:Java 在GWT应用程序中从不同类调用方法,java,gwt,uibinder,entry-point,Java,Gwt,Uibinder,Entry Point,我在GWT应用程序中使用UIBinder创建了两个java类。 我想借助EntryPoint类中声明的公共方法将一个页面导航到另一个页面 但是,我无法在UIBinder类的按钮单击事件上访问EntryPoint类的方法 我的代码: HelloUIBinder hb; @UiField Button btnLogin; public Test2() { initWidget(uiBinder.createAndBindUi(this)); btnLogin.addClickHa
HelloUIBinder hb;
@UiField Button btnLogin;
public Test2() {
initWidget(uiBinder.createAndBindUi(this));
btnLogin.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// TODO Auto-generated method stub
strEmail = txtEmail.getText().toString();
strPass = txtPass.getText().toString();
Window.alert(strEmail);
Window.alert(strPass);
hb.onLogin(strEmail, strPass);
}
});
}
在他的班上
登录方法:
public void onLogin(String email, String pass)
{
Window.alert(email);
Window.alert(pass);
if(email == "abc@yahoo.com" && pass == "abc123")
{
RootPanel.get().clear();
tp = new TestPage();
RootPanel.get().add(tp);
animationHelper.goTo(tp, Animation.SLIDE);
}
else
{
Window.alert("Authentication Failed");
}
}
但是,当使用此方法时,我会收到umberlla异常错误消息。
若我在UIBinder类中编写相同的逻辑,那个么这将是工作良好的条件检查
现在我想通过使用class对象来使用来自不同类的方法
有人知道吗
请帮助解决从不同类调用方法时出现的此错误
提前感谢。您应该发布伞例外中的堆栈跟踪,可能还有UIBinder模板 我真的建议使用地点更改事件和历史映射器来进行活动更改。你应该看看Ray Ryan的视频 Google I/O 2009-构建GWT应用程序的最佳实践 Google I/O 2010-构建GWT应用程序 我们在很多项目中都使用了MVP和place history,效果非常好。您可以使用简单的或使用placeContorller.goTo(new Place())导航;方法。这也可以使书签和后退按钮正常工作
另一个选项是,您可以在入口点中构造ClientFactory singleton实现,并使用它来处理简单的导航事件。但是,如果您的应用程序将来会变得更复杂,那么控制器是一个不错的选择。也许您应该添加雨伞例外。您可以在此处查看详细说明: