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()); %>
Se vuoi aggiornamenti su Development inserisci la tua email nel box qui sotto: