0

我正在开发一个只有当你是管理员时才会加载的谷歌应用程序。这是我尝试做的一个例子。

public class MyAppEntryPoint implements EntryPoint {
    @Override
    public void onModuleLoad() {
         appUserServ = GWT.create(AppUserService.class);
         appUserServ.IsAdministrator(new AsyncCallback<Boolean>() {
        @Override
        public void onSuccess(Boolean isAdmin) {
            if(isAdmin) {
                LoadUI(); //Loads the site.
            }
        }
        @Override
        public void onFailure(Throwable caught) {
            //handle error
        }
    };
    }
}

AppUserService.IsAdministrator呼叫AppUser.IsAdministrator()哪个呼叫UserService.isUserAdmin()

当我尝试运行应用程序并以管理员身份登录时,我收到此错误:

com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract boolean com.myapp.client.AsyncServices.AppUserService.IsAdministrator()' threw an unexpected exception: java.lang.VerifyError: Expecting a stackmap frame at branch target 38 in method com.myapp.UserService.AppUser.ValidUser()Z at offset 33
    ...
Caused by: java.lang.VerifyError: Expecting a stackmap frame at branch target 38 in method com.myapp.UserService.AppUser.ValidUser()Z at offset 33
    at com.myapp.server.AppUserServiceImpl.IsAdministrator(AppUserServiceImpl.java:26)
    ...

有谁知道这个错误是什么意思或如何解决?

我也在谷歌 SDK 的 v1.7 上开发。

4

1 回答 1

2

当您说管理员时,您是指 Google App Engine 的管理员概念吗?如果是这样,您可以在 app.yaml 中配置它并显着降低复杂性。例如:

handlers:

- url: /admin/*
  servlet: com.example.AdminServlet
  login: admin

此示例将所有请求路由/admin/*AdminServlet并要求用户在显示页面之前是管理员。

于 2012-07-21T00:25:10.450 回答