6
votes

JSTL Texte illégal Inside "C: Choisissez" Tag: "

<c:choose>
    <c:when test="${somecondition}">
      ...
    </c:when>
    <!-- if not somecondition do otherwise -->
    <c:otherwise>
      ...
    </c:otherwise>
</c:choose>
The above code will throw a jspError, "JSTL Illegal text inside "c:choose" tag: "

0 commentaires

3 Réponses :


16
votes
<c:choose>
    <c:when test="${somecondition}">
      ...
    </c:when>
    <%-- if not somecondition do otherwise --%>
    <c:otherwise>
      ...
    </c:otherwise>
</c:choose>
You can't use < !-- --> comments. 
Thought I would share since I didn't see this on stackoverflow and ran into it today.http://youtrack.jetbrains.com/issue/IDEA-44363

3 commentaires

Notez que <% // commentaire%> ou <% / * Commentaire * /%> est également non valide. Ils sont considérés comme Choisir les enfants pendant la compilation qui jette une erreur.


C'est intéressant, je suis heureux d'avoir trouvé cette cause précocité qui aurait pris beaucoup de temps pour trouver si je me dirigeais et essayait de déboguer d'autres domaines du code lorsqu'il s'agissait d'un problème de commentaire. Merci pour votre commentaire.


FYI: (Impossible d'éditer la réponse) La spécification de C: Choisir dit: Contraintes ■ Le corps de l'action ne peut contenir que: ■ Les espaces blancs peuvent apparaître n'importe où autour du et subtags. ■ 1 ou plus Les actions doivent tous apparaître avant ■ 0 ou 1 L'action doit être la dernière action imbriquée dans Choisir>



0
votes

Bien que les commentaires soient utiles, cette contrainte est documentée dans la spécification JSTL. Pour la mise en œuvre d'Apache, elle est appliquée par un validateur TagLib: org.apache.taglibstandard.tlv.jstlcoretlv (déclaré dans c.tld ).


0 commentaires

-1
votes

Les commentaires HTML entre les balises C du noyau JSTL, sont invalides. Ils doivent être des commentaires jsp.i.e; <% - ->


1 commentaires

Contrairement à des forums à l'ancienne, sur des sites de questions et réponses telles que le débordement de la pile, il n'est absolument pas nécessaire de répéter une réponse déjà donnée lorsque vous l'acceptez. Au lieu de cela, simplement upvote la réponse déjà donnée. Cela permettra d'enregistrer sur Internet à partir de pages insalablement grandes dans lesquelles chacun se répète - se répète sur un accord.