# JSF - JSTL Library wird nicht gefunden



## megachucky (5. Feb 2009)

Hallo.

Ich möchte mich etwas in JSF einarbeiten. Nun habe ich eine JSP Datei erstellt und JSTLs hinzugefügt:


```
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
```

Die Datei jstl-1.2.jar habe ich heruntergeladen und zum Build Path hinzugefügt. Trotzdem kommt in Eclipse die Meldung:
"Cannot find the tag library descriptor for "http...

Muss ich sonst noch etwas machen?

Vielen Dank.


----------



## Tobias (5. Feb 2009)

TagLibDescriptor in WEB-INF kopieren und TagLib in der web.xml registrieren: http://www.javaworld.com/javaworld/jw-02-2003/jw-0228-jstl.html


----------



## megachucky (5. Feb 2009)

Ok, danke. In der web.xml hab ich noch nichts eingetragen.

Aber man muss nun wirklich das jar entpacken und jeweils einzelne Dateien als Location angeben wie im Beispiel gezeigt ?!?:




```
<taglib>
    <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
    <taglib-location>/WEB-INF/fmt.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
    <taglib-location>/WEB-INF/sql.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>http://java.sun.com/jstl/x</taglib-uri>
    <taglib-location>/WEB-INF/x.tld</taglib-location>
  </taglib>
```


----------



## megachucky (9. Feb 2009)

Also ich muss jetzt nochmal nachfragen:

Hab nun nochmal ein neues Web-Project mit MyEclipse erstellt, da ist dann im die jstl-1.2.jar schon eingebunden. Dann habe ich wieder eine JSP Datei erstellt und die taglibs angegeben. 

Nun findet Eclipse die Libraries und Code Completion kann auch verwendet werden. In der web.xml ist kein Eintrag nötig.
Ich habe die App nun auch mit ant kompiliert und im Glassfish App Server deployt, alles funktioniert.

Daher nochmal zum Verständnis: Wann muss man diese taglib Einträge in der web.xml machen, und wann nicht?


----------



## megachucky (9. Feb 2009)

Ok, ich hab jetzt glaub ich zwei Sachen durcheinander gebracht bzw versteh es nicht mehr so ganz.

Folgendes wird von MyEclipse bei dem JSF Template bereits eingefügt:


```
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
```

Das funktioniert nun auch mit Code Completion.


Und gibt es noch zusätzlich die JSTL taglibs, und diese muss ich in der web.xml eintragen. Oder wie?

Ich hab nun die vier .tld Dateien ins WEB-INF kopiert und meine web.xml sieht so aus:


```
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list> 
 
  <taglib>
    <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
    <taglib-location>/WEB-INF/fmt.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
    <taglib-location>/WEB-INF/sql.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>http://java.sun.com/jstl/x</taglib-uri>
    <taglib-location>/WEB-INF/x.tld</taglib-location>
  </taglib>
</web-app>
```

Nun wird aber gemeckert, dass taglib hier nicht ok ist (cvc-complex-type Fehler) ?!

Danke für Tips...


----------

