30 ebook a un prezzo mai visto!

Risparmia sui tuoi libri preferiti, mentre supporti la community Python Italia

➡️ Scopri gli ebook bundle
Home
Tag Libraries – Implementazione

20 Giugno 2002

Tag Libraries – Implementazione

di

Vediamo come implementare una Tag Library

Nell’articolo precedente abbiamo affrontato l’argomento delle Tag Libraries fornendo una descrizione di come si scrive un file.tld e di come si utilizza all’interno di una pagina JSP.

Riguardando il codice del file apogeo.tld:



1.0
1.1
apogeolib

https://www.apogeonline.com/taglib
Esempio di Tag Library

hello
com.apogeo.ciao
empty

Questo è un tag


name
false
true


/

si può notare che viene definito l’unico tag che si chiama hello e che per esso viene definita un’implementazione nella classe com.apogeo.ciao

Ecco scoperto l’arcano: per implementare il tag personalizzato è sufficiente scrivere la classe com.apogeo.ciao il legame tra il tag e la sua implementazione viene descritto all’interno della libreria attraverso l’utilizzo della sezione

com.apogeo.ciao

/

Vediamo un esempio di questa implementazione, si tratta del file

WEB-INFclassescomapogeociao.java

/

che ha il seguente contenuto:

package com.apogeo;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;

public class ciao extends TagSupport {
private String name=null;

public void setName(String value){
name = value;
}

public String getName(){
return(name);
}

public int doStartTag() {
try {
JspWriter out = pageContext.getOut();
out.println(“”);
if (name != null)
out.println(“

Ciao ” + name + “, questa riga è generata dalla Tag Library

“);
else
out.println(“Errore, manca il parametro corretto!”);
}
catch (Exception ex) {
throw new Error(“Errore”);
}
return SKIP_BODY;
}

public int doEndTag(){
try {
JspWriter out = pageContext.getOut();
out.println(“

“);
}
catch (Exception ex){
throw new Error(“Errore”);
}
return 0;
}
}

/

Compilandolo si ottiene la classe che ci serve, il file ciao.class.

Pubblicando il tutto sull’application server si ottiene il seguente risultato:

Come si può vedere nella pagina JSP si utilizza un tag proprietario che ha un’implementazione nella classe indicata all’interno del file di definizione della libreria.

In questo modo si ottiene una separazione tra la posizione del tag all’interno della pagina, la sua definizione formale, la sua implementazione e la logica di business che può essere inserita all’interno di beans separati.

L'autore

  • Massimo Canducci
    Massimo Canducci vanta oltre 25 anni di esperienza nel campo dell'innovazione e della digital transformation ed è Chief Innovation Officer per Engineering Ingegneria Informatica. È docente alla Singularity University, l'Università di Torino e l'Università di Pavia, e insegna in master MBA.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Immagine decorativa form newsletter
Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.