Vediamo subito un semplice esempio di bean, realizzato per contenere le informazioni di un utente durante la sua permanenza nel sito.
InfoUtente.java public class InfoUtente { private String nome = null; private String email = null; private int pagineViste; public InfoUtente() { pagineViste=0; } public aggiornaPV() { pagineViste++; } public int getPagineViste(){ return pagineViste; } public void setNome(String value) { nome = value; } public String getNome() { return nome; } public void setEmail(String value) { email = value; } public String getEmail() { return email; } public String riassunto(){ String riassunto = null; riassunto = "Il nome dell'utente è"+nome+","; riassunto+= "il suo indirizzo e-mail è: "+email; riassunto+= " e ha visitato "+pagineViste+" del sito"; return riassunto; } }//InfoUtente
Come è facile capire, questo bean contiene il nome dell'utente ed i metodi per modificarlo e restituirlo, il suo indirizzo e-mail con i relativi metodi, il numero di pagine viste dall'utente e un metodo che restituisce un riassunto schematico dei dati dell'utente. Ecco come utilizzarli:
<html> <head><title>Utilizzo del Bean</title></head> <body> <jsp:useBean id="utente" scope="session" class="InfoUtente"/>
Viene creata un'istanza del bean InfoUtente con ambito session, necessario per questo tipo di funzione
<jsp:setProperty name="utente" property="nome" value="Zina& tram"/>
La proprietà del bean possono essere impostate con l'azione setProperty o agendo direttamente con i metodi creati appositamente.
<% utente.setNome("Zina& tram"); utente.setEmail("ciao@dom.it"); %>
Lo stesso vale per la lettura dei bean che puo essere fatta con l'azione
<jsp:getProperty name="utente" property="nome"/>
o agendo sui metodi creati:
<% out.println(utente.getNome()); out.println(utente.riassunto()); %>
Per incrementare il numero di pagine viste è sufficiente richiamare il metodo aggiornaPV() e per ottenere il valore getPagineViste().
<% utente.aggiornaPV(); out.println(utente.getPagineViste()); %>