Ich schreibe eine Webanwendung, die innerhalb einer eingebetteten Jetty-Instanz ausgeführt wird.kann JSTL Taglib innerhalb eingebetteten Jetty Server nicht laden
Wenn ich eine JSTL-Anweisung auszuführen versuchen, erhalte ich die folgende Ausnahme:
org.apache.jasper.JasperException: /index.jsp(1,63) PWC6188: Die absolute uri: http://java.sun.com/jsp/jstl/core kann nicht entweder in web.xml oder die jAR-Dateien mit dieser Anwendung
ich habe folgende Gläser auf dem classpath
- ant-1.6.5.jar eingesetzt werden aufgelöst
- Ameisen 1.7.1.jar
- ant-Launcher-1.7.1.jar
- Kern-3.1.1.jar
- Anlegesteg-6.1.22.jar
- Anlegesteg-util-6.1 .22.jar
- jsp-2.1-6.1.14.jar
- jsp-api-2.1.jar
- jstl-1.2.jar
- Servlet-api-2.5-20081211.jar
- Servlet-api-2.5-6.1.14.jar
- Standard-1.1.2.jar
Meine web.xml wie folgt aussieht:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee h77p://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>test</display-name>
</web-app>
Mein Code sieht wie folgt aus:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<h2>Hello World!</h2>
<%= new java.util.Date() %><br/>
${1+2}<br/>
<c:out var="${5+9}"/><br/>
</body>
</html>
ich meine eingebetteten Jetty Server wie folgt gestartet:
Server server = new Server(80);
WebAppContext context = new WebAppContext("pig-1.0-SNAPSHOT.war","/");
server.addHandler(context);
server.start();
Ich verbrachte die letzten zwei Tage damit, mit verschiedenen Kombinationen von JAR-Dateien, web.xml-Konfigurationen und Tag-Bibliothek-Deklarationen zu experimentieren, aber ohne Erfolg.
Wie kann ich einen eingebetteten Jetty-Server mit voller JSTL-Unterstützung einrichten?
Gut zu wissen, danke! Nach dieser Änderung bleibt das Problem bestehen. –
Stellen Sie sicher, dass Sie keine JSTL JAR-Datei extrahiert und keine TLD-Dateien in den Klassenpfad aufgenommen oder irgendetwas in 'web.xml' definiert haben. Stellen Sie außerdem sicher, dass Sie die JSTL JAR-Datei (en) nicht woanders platziert/dupliziert haben, z. in 'Appserver/lib' oder' JRE/lib'. Um JSTL zu installieren, müssen Sie lediglich die JAR-Datei im Klassenpfad ablegen (z. B. '/ WEB-INF/lib') und die Taglib oben in der JSP-Datei deklarieren. Das sollte es sein. Es muss wirklich nichts mehr getan werden, sonst wird es irgendwo kollidieren. – BalusC