Les JSP Tags Library sont issus d’un projet open-source de la fondation Apache. Ils permettent de limiter l’utilisation de codes Java dans les pages JSP et proposent un système afin de réutiliser plusieurs fois la même balise pour la même portion de code. Il s’agit en fait d’un système qui permet d’ajouter dans une page JSP des balises XML. A la compilation des pages, les balises sont associées à des classes Java qui vont se charger de générer du code HTLM ou autre, la balise sera ensuite remplacée par le code généré.
Les taglibs présentent donc un véritable intérêt lors du développement des vues d’une application. Pourtant, leur utilisation permet de casser le traditionnel modèle MVC. Destiné à la base à limiter l’usage du code Java dans les pages JSP, les taglibs permettent l’appel à des classes Java implémentant l’interface JspTag. L’inconvénient de cette méthode est qu’elle permet aux développeurs d’exécuter directement des appels aux classes métiers sans passer par le contrôleur, ce qui supprime dès lors tous les avantages de l’utilisation du modèle MVC.
Pour remédier à ce problème et respecter le modèle MVC, il faut alors passer en paramètre aux tags les données renvoyées par le modèle. Ce travail s’effectue dans le fichier de configuration (ou descripteur de tags). Ce fichier permet de faire la jonction entre le nom des balises et la classe Taglibs à exécuter; il permet aussi de définir les différents paramètres à passer aux taglibs.
Pour simplifier le code et la complexité du développement, il est malheureusement parfois nécessaire de contourner ce système. En effet, les Taglibs étant souvent destinés à l’affichage, il est parfois nécessaire d’avoir accès aux fichiers d’internationalisation autrement appelé les fichiers de langues. Ces fichiers de langues permettent à une application d’être accessible dans plusieurs langues. Il s’agit en fait d’un simple fichier texte qui, pour chaque mot utilisé dans l’application, possède l’équivalent dans différentes langues. Plutôt que de passer ces différents mots comme paramètres de nos taglibs, il est donc conseillé de faire un écart au modèle MVC en appelant ces fichiers d’internationalisation directement dans les classes des Taglibs.