Estoy escribiendo una aplicación web que se ejecuta dentro de una instancia incrustada de Jetty.no se puede cargar taglib JSTL dentro del servidor Jetty incrustado
Cuando intento ejecutar una instrucción JSTL, que recibirá la siguiente excepción:
org.apache.jasper.JasperException: /index.jsp(1,63) PWC6188: El URI absoluta: no puede http://java.sun.com/jsp/jstl/core resolverse en cualquiera de los archivos jar desplegados con esta aplicación web.xml o
tengo los siguientes frascos en la ruta de clase
- hormiga-1.6.5.jar
- ant-1.7.1.jar
- ant-lanzador-1.7.1.jar
- núcleo-3.1.1.jar
- embarcadero-6.1.22.jar
- embarcadero-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
- estándar-1.1.2.jar
Mi web.xml se ve así:
<?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>
Mi código es el siguiente:
<%@ 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>
empecé mi servidor embarcadero incrustado como esto:
Server server = new Server(80);
WebAppContext context = new WebAppContext("pig-1.0-SNAPSHOT.war","/");
server.addHandler(context);
server.start();
Pasé los últimos dos días experimentando con varias combinaciones de archivos jar, configuraciones web.xml y declaraciones de biblioteca de etiquetas, pero fue en vano.
¿Cómo puedo poner en funcionamiento un servidor Jetty integrado con soporte completo de JSTL?
Buena para saber, gracias! Sin embargo, después de este cambio, el problema persiste. –
Asegúrese de no haber extraído ningún archivo JSTL JAR e incluido en cada uno de sus archivos TLD en el classpath o definido nada en 'web.xml'. También asegúrese de no haber colocado/duplicado el archivo JSTL JAR en otro lugar, p. en 'Appserver/lib' o' JRE/lib'. Para instalar JSTL, básicamente, todo lo que necesita hacer es colocar el archivo JAR en classpath (por ejemplo, '/ WEB-INF/lib') y declarar el taglib en la parte superior del archivo JSP. Eso debería ser. Realmente no se necesita hacer nada más, de lo contrario colisionará en algún lugar. – BalusC