3 Stimmen

JSPX-Namespaces für EL-Funktionen nicht sichtbar?

Ich versuche, JSPX (reine XML-Syntax für JSP) zu verwenden und stoße dabei auf etwas, das eigentlich funktionieren sollte, es aber nicht tut. Ich importiere Taglibs mit Namespace-Deklarationen im jsp:Root-Element und verwende diese dann später für Elemente sowie EL-Funktionen:

<jsp:root version="2.0"
    xmlns:jsp="http://java.sun.com/JSP/
    xmlns:c="urn:jsptld:/WEB-INF/tld/c.tld"
    xmlns:fn="urn:jsptld:/WEB-INF/tld/fn.tld">
    ...
    <c:if test="${fn:length(list) &gt; 0">
        ...
    </c:if>
    ...
</jsp:root>

Ich erhalte eine Ausnahme mit der Meldung "Das Attributpräfix fn entspricht keiner importierten Tag-Bibliothek". Andere Seiten funktionieren gut, aber diese Seite unterscheidet sich dadurch, dass sie einige EL-Funktionen verwendet, die in einer Tag-Bibliothek enthalten sind.

Gibt es eine andere Art von Import, die ich brauche, die diese Taglib-Präfixe in einen Bereich bringen wird, die für EL-Funktionsaufrufe sichtbar ist?

4voto

BalusC Punkte 1034465

Warum verwenden Sie nicht den vollständigen TLD-URI? Sie können finden ici eine Übersicht über die gültigen JSTL TLD URI's (klicken Sie auf eine beliebige JSTL taglib Ihres Interesses, um die gültigen Deklarationsbeispiele zu erhalten).

Um sicherzugehen: Sie haben die JSTL-JAR-Datei(en) ( jstl.jar und/oder standard.jar je nach JSTL-Version, bis 1.1 ist es beides und in 1.2 ist es nur jstl.jar ) im Klassenpfad und Sie haben pas sie zu extrahieren und den Klassenpfad nicht zu überladen und/oder web.xml mit losen Dateien und Deklarationen, wie es einige schlechte Online-Tutorials behaupten?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X