7
votes

Tags personnalisés JSP: schéma DTD / XML manquant

J'ai écrit ma balise personnalisée JSP avec le TLD suivant:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" 
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_2.dtd">


2 commentaires

Ma première question serait, utilisez-vous Eclipse pour les développeurs Java EE?


Oui, j'ai téléchargé le paquet pour Java EE.


3 Réponses :


2
votes

Si Eclipse ne ramasse pas automatiquement le XSD dans la bibliothèque, vous pouvez toujours l'ajouter manuellement: Fenêtre> Préférences> XML> Catalogue XML

Dans mon cas, il était déjà présent dans la section Plugin. Il est probablement venu avec l'un des plugins Eclipse Java EE.


5 commentaires

Merci, a mis à jour les questions, semble que j'ai plus de problèmes maintenant :-)


En fin de compte, j'accepte votre réponse, car cela répondit à ma question initiale, même si je n'ai pas pu utiliser votre suggestion, car elle a introduit plus de problèmes.


Désolé, je n'ai pas répondu à votre problème de suivi. Il s'est perdu quelque part. Je suggérerais une réinstallation complète d'Eclipse. On dirait qu'il y a quelque chose de complètement gâché avec le validateur XML ou les fichiers J2EE XSD


Je vais essayer quelques jours plus tard et vous laisser savoir depuis maintenant j'ai une pression de travail. Merci!


Salut Peter! Après plus d'un mois, j'ai regardé à ce problème à ce problème et j'ai résolu ma réponse.



14
votes

Je n'ai pas pris la peine de regarder ce problème pendant plus d'un mois, car de toute façon, tout fonctionnait à Tomcat. Récemment, j'ai essayé Glassfish et Jboss. Tandis que Glassfish 3.1.1 ne s'est pas plaint, JBoss 7.0 a refusé de lancer la demande, à cause de problèmes de TLD. Entre-temps, j'ai également mis à jour Eclipse Helios à Indigo.

J'ai compris que j'utilisais DTD et Schema en même temps, ce qui ne peut pas être bon. J'ai abandonné la DTD et n'a gardé que le schéma. Je devais renommer quelques tags, tels que TLibversion à TLIB-VERSION, CORPNAME SUNPORT-NOM, BODYContent au contenu du corps, TagClass to Tag-Class, supprimer la balise d'information, que je substitue aux commentaires XML. Je suppose que c'est probablement une version plus récente des spécifications, car dans l'exemple que j'ai suivi, ils ont été nommés sans traits d'union. P>

Après que tout ait fonctionné: Eclipse n'a plus donné d'avertissement, JBoss a géré la demande parfaitement . Pour référence ici, c'est le TLD de travail: p>

<?xml version="1.0" encoding="UTF-8"?>
<taglib
        xsi:schemaLocation="
            http://java.sun.com/xml/ns/javaee 
            http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        version="2.1">
    <tlib-version>1.0</tlib-version> 
    <short-name>StivloTags</short-name>
    <uri>http://www.stefanolocati.it/</uri>

    <!-- Example from http://www.stardeveloper.com/articles/display.html?article=2001081301&amp;page=1 -->
    <tag> 
        <name>firstTag</name> 
        <tag-class>obliquid.tag.FirstTag</tag-class>
        <body-content>empty</body-content> 
        <attribute>
            <name>name</name>
            <required>false</required>
        </attribute>
    </tag> 

    <!-- Truncate text after maxLength or 80 chars, adding "&amp;hellip;" if the the text was longer -->
    <tag>
        <name>ellipsis</name>
        <tag-class>obliquid.tag.Ellipsis</tag-class>
        <body-content>scriptless</body-content>
        <attribute>
             <name>maxLength</name>
             <required>false</required>
        </attribute>
    </tag>

</taglib>


1 commentaires

La version 2.0 trouvée sur Oracle Docs ne semble pas fonctionner. 2.1 est bon!



0
votes

Son Java.sun.com/dtd/web-jsptaglibrary_1_2.dtd pas de
http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_2. DTD

Aller au deuxième lien que vous verrez. de
fait face au même problème. Le fichier lui-même a déclaré que l'emplacement est changé.


1 commentaires

Votre réponse pourrait être améliorée avec des informations justificatives supplémentaires. S'il vous plaît Modifier Pour ajouter des détails supplémentaires, tels que des citations ou une documentation, de sorte que d'autres puissent confirmer que votre réponse est correcte. Vous pouvez trouver plus d'informations sur la façon d'écrire de bonnes réponses dans le centre d'aide .