private final EventBus eventBus = new SimpleEventBus(); private final PlaceController placeController = new PlaceController(eventBus); private final LoginView loginView = new LoginViewImpl(); private final RegisterView registerView = new RegisterViewImpl(); private final UserView userView = new UserViewImpl(); private final AdminView adminView = new AdminViewImpl();
@Override public EventBus getEventBus() { return eventBus; }
@Override public PlaceController getPlaceController() { return placeController; }
@Override public LoginView getLoginView() { return loginView; }
@Override public RegisterView getRegisterView() { return registerView; }
@Override public UserView getUserView() { return userView; }
@Override public AdminView getAdminView() { return adminView; }
private final EventBus eventBus = new SimpleEventBus(); private final PlaceController placeController = new PlaceController(eventBus);
@Override public EventBus getEventBus() { return eventBus; }
@Override public PlaceController getPlaceController() { return placeController; }
@Override public LoginView getLoginView() { return new LoginViewImpl(); }
@Override public RegisterView getRegisterView() { return new RegisterViewImpl(); }
@Override public UserView getUserView() { return new UserViewImpl(); }
@Override public AdminView getAdminView() { return new AdminViewImpl(); }
Lots of thanks to everybody for their support and have a great day. :)
marți, 31 mai 2016, 01:25:10 UTC+3, Olar Andrei a scris:
My login based application, requires to always know the username of the logged in user. (MVP) . So I'm getting the username from the url, but when the page opens after the login succeeded, I can't get the username from the url, because it does not appear to exists, but it is there. It only works after a refresh. Then I'm able to get the username.
The URL is in the form
http://127.0.0.1:8888/
, where I'm splitting the String to only get the admin part.AdministrareBloc.html# AdminPlace:admin
I thought this is because it downloads the code before verifying the user. So I placed a split point in my code like this: (I don't know if I placed it correctly)
loginButton.addClickHandler(ne
w ClickHandler() { @Override public void onClick(ClickEvent event) { final String username = usernameBox.getText(); final String password = passwordBox.getText(); GWT.runAsync(new RunAsyncCallback() { @Override public void onSuccess() { performUserConnection(username, password); } @Override public void onFailure(Throwable reason) { // TODO Auto-generated method stub } }); } }); private static void performUserConnection(String username, String password) { DBConnectionAsync rpcService = (DBConnectionAsync) GWT.create(DBConnection.class); ServiceDefTarget target = (ServiceDefTarget) rpcService; String moduleRelativeURL = GWT.getModuleBaseURL() + "DBConnectionImpl"; target.setServiceEntryPoint(moduleRelativeURL ); rpcService.authenticateUser(username , password, new AsyncCallback<User>() { @Override public void onSuccess(User user) { if (user.getType().equals("User")) { String username = user.getUsername(); presenter.goTo(new UserPlace(username)); } else if (user.getType().equals("Admin")) { String username = user.getUsername(); presenter.goTo(new AdminPlace(username)); } } } }
This is happening when the user clicks the login button. Is the split point placed correclty, or not ? How can I get the username without needing to refresh the page after a successful login ?
Thanks in advance
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment