2012-06-10 5 views
7

Die automatische Vervollständigung von Eclipse für JSP-Tags funktioniert mit Spring Security-Tags, jedoch nicht mit JSTL-Core.Eclipse JSTL Core Autocomplete

Ich habe die folgenden Erklärungen an der Spitze der JSP-Datei bekam:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %> 

ich auf JSTL abhängig bin:

<dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
    </dependency> 

... Aber merkwürdig, JSTL Kern nie Auto -schlägt vor.

+0

@JB Nizet Danke, du kannst sagen, wie wach ich heute bin! –

+0

Welche Dateierweiterung verwenden Sie für Ihre JSP-Dateien? – BalusC

+0

Ich benutze '.jsp', und fügte sogar die Datei über Eclipse Phantasie erstellen neue JSP Pseudo-Zauberei Sache. –

Antwort

12

Das Problem ist, dass die jstl-api.jar, die wahrscheinlich mit dem javax.servlet>jstl depencency kommt nicht die TLD Dateien im META-INF enthält. Was Sie brauchen, ist die jstl-impl.jar Datei irgendwo auf dem Projekt Classpath verfügbar zu sein (Maven Abhängigkeiten oder direkt im Lieferumfang enthalten), weil in der jstl-impl.jar Datei, die Sie sehen können, es auf diese Datei hat: META-INF/c.tld

Wenn das Eclipse JSP Editor die jstl-impl.jar lesen Von Ihrem Projektklassenpfad aus kann er die Tag-Informationen einlesen und Ihnen die automatische Vervollständigung geben.

Screenshot of jstl completion in Eclipse JSP editor

0

Wenn Sie Jboss oder andere Server verwenden versuchen jstl-api.jar. Fügen Sie es dem Eclipse-Klassenpfad hinzu und es sollte wie ein Charm funktionieren.

+0

Können Sie bitte ein Beispiel für die Klassenpfadänderung hinzufügen? –

+0

Klicken Sie auf das Java-Projekt in Eclipse -> Rechtsklick -> Eigenschaften -> Java-Build-Pfad -> Fügen Sie jstl.jar auf der Registerkarte Bibliotheken hinzu und erstellen Sie das Projekt neu –