2010-12-14 23 views
5

Ich habe versucht Codes mit JSTL. Die Ausnahme istweb.xml für jstl

org.apache.jasper.JasperException: Die absolute uri: http://java.sun.com/jsp/jstl/core kann nicht in entweder web.xml aufgelöst werden oder die JAR-Dateien mit dieser Anwendung bereitgestellt

ich Eclipse verwende. Ich fügte jstl.jar und standard.jar hinzu. Was soll ich jetzt in web.xml geben? Ich weiß nicht, was ich in <taglib> geben soll.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 

<c:forEach var = "userName" items = "${name}"> 
<tr> 
<td>${userName}</td> 

</tr> 
</c:forEach> 

</body> 
</html> 
+0

Welchen Servlet-Container benutzen Sie? – skaffman

+0

Ich benutze Tomcat 6.0 – Sumithra

+1

Zeigen Sie uns ein Beispiel JSP – skaffman

Antwort

0

Sie sollten die web.xml-Datei nicht mit den Taglib-Elementen versehen. Die Standard & jstl Gläser werden über den Servicemechanismus im Behälter abgefragt.

Stellen Sie sicher, dass die Gläser mit der Web-App exportiert werden und sich unter WEB-INF/lib befinden und Sie sollten in Ordnung sein.

5

Dies kann passieren, wenn Sie entweder die alte JSTL 1.0 mit einem anderen URI heruntergeladen haben oder Sie die JARs an der falschen Stelle platziert haben (d. H. Nicht in /WEB-INF/lib oder an einem anderen Ort im Klassenpfad von webapp).

Stellen Sie sicher, dass Sie die richtige Version herunterladen, und setzen Sie die JARs in /WEB-INF/lib. Für eine Webanwendung, deren web.xml als Servlet 2.5 deklariert ist, müssen Sie nur JSTL 1.2 as jstl-1.2.jar herunterladen. Für eine Servlet 2.4-Webanwendung müssen Sie JSTL 1.1 as jstl.jar and standard.jar herunterladen.

Sie müssen die JARs nicht extrahieren. Sie müssen auch nicht die web.xml ändern, wie einige schlechte Online-Tutorials vorschlagen. Lassen Sie JAR (s) einfach in den Klassenpfad der Laufzeit fallen, deklarieren Sie die Taglib in JSP und das war's.

1

Es ist nicht notwendig, in der Datei web.xml einen Eintrag von jstl.jar oder standard.jar einzugeben, wenn die jars im Verzeichnis lib innerhalb von WEB-INF gespeichert sind. Der Container sucht standardmäßig im Verzeichnis lib von WEB-INF.