Bonjour,
Je souhaite apprendre de nouvelles methodes de développement web jme suis donc lancé dans les JSP/Servlets ...
Et la j'essaye de comprendre le fonctionnement des taglib. Merci de me corriger lorsque jme trompe.
Donc daprès ce que j'ai compris dans notre JSP on doit mettre le chemin du dictionnaire de tag qui doit se trouver dans WEB-INF et définir un prefixe : ici j'ai choisi " myprefix " ce qui me donne la JSP suivante :
Ensuite on doit coder le dictionnaire de tag en indiquant dans quel classe il doit chercher lorsqu'il rencontre le prefixe " myprefix:GetHelloWorld ". c'est aussi la que l'on definit les regles d'integrité je pense ... nan ? donc j'ai un tld qui ressemble a ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <%@ page language="java" contentType="text/html" %> <%@ taglib uri="sampleTagLib.tld" prefix="myprefix" %> <html> <head/> <body> <myprefix:GetHelloWorld name="Keub"/> </body> </html>
Enfin ma classe java se trouve bien dans package_a_moi.HelloTagAttribute et ressemble a ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"> <taglib> <tlibversion>1.0</tlibversion> <jspversion>1.2</jspversion> <shortname>Exemple de taglib</shortname> <info>Exemple de taglib</info> <tag> <name>GetHelloWorld</name> <tagclass>package_a_moi.HelloTagAttribute</tagclass> <attribute> <name>name</name> <required>true</required> </attribute> </tag> </taglib>
Si tout fonctionnerait normalment j'aurais donc le fameux "Hello World by toto" par exemple mais voila je n'ai rien de tout ca : une page vierge et pas d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package package_a_moi; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; import java.io.*; public class HelloTagAttribute extends TagSupport { private String name; public int doStartTag() throws JspException { try { pageContext.getOut().println("Hello World ! by " + name); } catch (IOException e) { throw new JspException ("I/O Error", e); } return SKIP_BODY; } public void setName(String name) { this.name=name; } }
Quelqu'un saurait t'il mexpliquer ou je me suis tromper dans cet exemple ? Merci d'avance![]()
Partager