Categorie

[GWT] Stampare elementi dell’applicazione web

eclipse-gwt

Installare il modulo print-it, scaricando il .jar dal sito ufficiale:

http://code.google.com/p/gwt-print-it/

Creare una cartella lib nella cartella del progetto Eclipse-GWT a cui si vuole aggiungere la funzionalità di stampa e copiarci il .jar appena scaricato.

Da Eclipse aggiornare il Progetto (F5) e una volta apparsa la cartella lib aprirla e cliccare col tasto desttro sul jar appena aggiunto scegliendo Build Path -> Add to build path.

Add print-it to Eclipse

Nel file xml principale del progetto (WebApp.gwt.xml) aggiungere la riga:

<inherits name='br.com.freller.tool.PrintIt'/>

Quindi nel file html iniziale della webapp WebApp.html aggiungere all’interno del tag body la riga:

<iframe id="__printingFrame" style="position:absolute;width:0;height:0;border:0"/>

A questo punto si è pronti per stampare dal nostro progetto!

Nel punto desiderato inserire (previa importazione di br.com.freller.tool.client.Print):

Print.it(myWidget);

Ed il gioco è fatto! 😀

 

[GWT] Validazione dei campi di un form

eclipse-gwt

 

Ecco come validare i campi di un form con le GWT.

 

 

 

Prima di tutto occorre creare una classe personalizzata che estende la TextBox e che implementa alcuni metodi per la gestione dei validatori:

CustomTextBox.java

public class CustomTextBox extends TextBox {

	private static final String TEXTBOX_VALIDATION_ERROR_STYLE = "error-text-box";
	private String errorMessage = "";
	private ArrayList<Validator> validators = new ArrayList<Validator>();

	public CustomTextBox() {
	   }

	public CustomTextBox(String name) {
		setName(name);
	}

	public String getErrorMessage() {
		return errorMessage;
	}

	public void setErrorMessage(String errorMessage) {
		this.errorMessage = errorMessage;
	}

	public void addValidator(Validator validator) {
		validators.add(validator);
	}

	public boolean validate() {
		boolean validationResult = true;
		for (Validator validator : validators) {
			validationResult = validator.validate(getValue().trim());
			if (!validationResult) {
				errorMessage = validator.getErrorMessage();
				break;
			}
			errorMessage = validator.getErrorMessage();
		}
		setErrorStyles(validationResult);
		return validationResult;
	}

	private void setErrorStyles(boolean validationResult) {
		if (validationResult) {
			removeStyleName(TEXTBOX_VALIDATION_ERROR_STYLE);
			setTitle("");
		} else {
			addStyleName(TEXTBOX_VALIDATION_ERROR_STYLE);
			setTitle(errorMessage);
		}
	}

	@Override
	public void setValue(String s) {
		removeStyleDependentName(TEXTBOX_VALIDATION_ERROR_STYLE);
		super.setValue(s);
	}

	@Override
	public String getValue() {
		return super.getValue().trim();
	}
}

Quindi creiamo uno scheletro (classe astratta) per i nostri validatori:

Validator.java

public abstract class Validator {

    public String errorMessage;

    public abstract boolean validate(String value);

    public abstract String getErrorMessage();
}

Infine creiamo il validatore vero e proprio:

Sample Email validator

public class EmailValidator extends Validator {

 public boolean validate(String value) {
    if (value.matches("^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$")) {
            errorMessage = "";
            return true;
        } else {
            errorMessage = "Enter valid email Id";
            return false;
        }
    }

    public String getErrorMessage() {
        return errorMessage;
    }
}

Ecco lo stile…

CSS:

.error-text-box { 
	border: 1px solid red; 
	background: orange url("../symbol-error.png") no-repeat left center; 
	padding-left: 15px !important; 
}

Per ottenere un comportamento di questo tipo:

GWT-validator

A questo punto non ci resta che inserire il nostro campo CustomTextBox:

.
.
.
CustomTextBox myTB = new CustomTextBox();
myTB.addValidator(new EmailValidator());
.
.
.
// SALVATAGGIO
if(myTB.validate())
{
    salvaDati();
}
.
.
.

Fonte: http://stackoverflow.com/questions/6163893/form-validation-with-google-web-toolkit

Eclipse + GWT plugin + RPC = WebApp!

eclipse-gwt

 

 

 

 

 

Scaricare Eclipse dal sito ufficiale (io ho usato la versione precompilata Eclipse Classic Juno).

Installarlo (nel caso della versione eseguibile spostarlo nella cartella di destinazione)

Avviare Eclipse, dal menu Help -> Install New Software

nella casella di ricerca della finestra che compare digitare la stringa relativa alla versione di Eclipse che utilizziamo, nel caso di Juno:

http://dl.google.com/eclipse/plugin/4.2

Per altre versioni di Eclipse fare riferimento a questa pagina.

Installare i componenti necessari: Google plugin for Eclipse e Google Web Toolkit SDK

A fine installazione eseguire il riavvio necessario e quindi creare un nuovo progetto GWT.

Seguire questa guida per installare RPC-PHP e generale l’applicazione web di test.

Adesso siamo pronti per creare le nostre WebApp!