Pessoal, estou com uma dúvida, várias para falar a verdade…
Estou desenvolvendo um projeto e pretendo utilizar GWT 2.0 + Hibernate e surgiu uma dúvida referente ao login, criei a janela de login usando o GWT, criei a DAO de usuários utilizando Hibernate com Annotations, etc… na tela de login tenho o seguinte código:
package br.com.cliente.produto.client;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.NativeEvent;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.Event.NativePreviewEvent;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
public class LoginDialog extends DialogBox{
interface Binder extends UiBinder<Widget, LoginDialog> { }
private static final Binder binder = GWT.create(Binder.class);
@UiField TextBox usernameField;
@UiField TextBox passwordField;
@UiField Button loginButton;
@UiField Button closeButton;
public LoginDialog(){
setText("Login");
setAnimationEnabled(true);
setGlassEnabled(true);
setModal(true);
setWidget(binder.createAndBindUi(this));
}
@Override
protected void onPreviewNativeEvent(NativePreviewEvent preview){
super.onPreviewNativeEvent(preview);
NativeEvent evt = preview.getNativeEvent();
if(evt.getType().equals("keydown")){
switch (evt.getKeyCode()){
case KeyCodes.KEY_ENTER:
onLoginClicked(null);
break;
case KeyCodes.KEY_ESCAPE:
onSignOutClicked(null);
break;
}
}
}
@UiHandler("loginButton")
void onLoginClicked(ClickEvent event){
if(usernameField.getValue().equals("") || passwordField.getValue().equals("")){
Window.alert("Digite seu nome de usuário e senha.");
}
else{
Window.alert("Processando login do usuário:" + usernameField.getValue());
onSignOutClicked(null);
}
}
@UiHandler("closeButton")
void onSignOutClicked(ClickEvent event){
hide();
}
}
Alguém com mais experiência pode me indicar o caminho para verificar o login e gravar o id do usuário na session?
Obrigado!