java java-ee weblogic jstl web.xml

java - Soporte JSTL en Weblogic



java-ee web.xml (2)

Estoy tratando de comenzar a trabajar con Java EE usando Weblogic, y no puedo hacer que las etiquetas JSTL funcionen, en el código más simple obtengo los siguientes errores al implementar mi aplicación:

index.jsp: 1: 4: no se pudo encontrar ninguna biblioteca de etiquetas con este URI. Las posibles causas podrían ser que el URI es incorrecto o que hubo errores durante el análisis del archivo .tld. <% @ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core"%>

^ ---- ^ index.jsp: 1: 4: No se pudo encontrar ninguna biblioteca de etiquetas con este URI. Las posibles causas podrían ser que el URI es incorrecto o que hubo errores durante el análisis del archivo .tld. <% @ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core"%>

^ ---- ^ index.jsp: 2: 4: No se pudo encontrar ninguna biblioteca de etiquetas con este URI. Las posibles causas podrían ser que el URI es incorrecto o que hubo errores durante el análisis del archivo .tld. <% @ taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql"%>

^ ---- ^ index.jsp: 2: 4: No se pudo encontrar ninguna biblioteca de etiquetas con este URI. Las posibles causas podrían ser que el URI es incorrecto o que hubo errores durante el análisis del archivo .tld. <% @ taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql"%>

Descargué archivos taglib de este sitio web: http://archive.apache.org/dist/jakarta/taglibs/standard/ y puse dos jar (standard.jar y jstl.jar) en mi directorio WEB-INF. También puse allí todos los archivos tld del arcihve. Después de que intenté hacer referencia a ellos en mi archivo web.xml y después de la validación me sale el siguiente error:

La validación XML comenzó. Archivo de comprobación: / C: /Users/Brodyaga/Documents/NetBeansProjects/Eshop1/web/WEB-INF/web.xml ... Entidad a la que se hace referencia en "nbres: / org / netbeans / modules / j2ee / ddloaders / catalog / resources / XMLSchema.dtd ". Entidad a la que se hace referencia en "nbres: /org/netbeans/modules/j2ee/ddloaders/catalog/resources/datatypes.dtd". cvc-complex-type.2.4.a: Se encontró contenido no válido comenzando con el elemento ''taglib''. Uno de ''{"http://java.sun.com/xml/ns/javaee":description," http://java.sun.com/xml/ns/javaee":display-name, "http: / /java.sun.com/xml/ns/javaee":icon, "http://java.sun.com/xml/ns/javaee":distributable," http://java.sun.com/xml/ns / javaee ": context-param," http://java.sun.com/xml/ns/javaee":filter, "http://java.sun.com/xml/ns/javaee":filter-mapping, "http://java.sun.com/xml/ns/javaee":listener," http://java.sun.com/xml/ns/javaee":servlet, "http://java.sun.com / xml / ns / javaee ": servlet-mapping," http://java.sun.com/xml/ns/javaee":session-config, "http://java.sun.com/xml/ns/javaee ": mime-mapping", http://java.sun.com/xml/ns/javaee":welcome-file-list, "http://java.sun.com/xml/ns/javaee":error- página, "http://java.sun.com/xml/ns/javaee":jsp-config," http://java.sun.com/xml/ns/javaee":security-constraint, "http: / /java.sun.com/xml/ns/javaee":login-config, "http://java.sun.com/xml/ns/javaee":security-role," http://java.sun.com / xml / ns / javaee ": env-entry," http://java.sun.com/xml/ns/javaee":ejb-ref, "http : //java.sun.com/xml/ns/javaee ": ejb-local-ref," http://java.sun.com/xml/ns/javaee":service-ref, "http: // java .sun.com / xml / ns / javaee ": resource-ref," http://java.sun.com/xml/ns/javaee":resource-env-ref, "http://java.sun.com / xml / ns / javaee ": message-destination-ref," http://java.sun.com/xml/ns/javaee":persistence-context-ref, "http://java.sun.com/xml / ns / javaee ": persistence-unit-ref," http://java.sun.com/xml/ns/javaee":post-construct ", http://java.sun.com/xml/ns/javaee ": pre-destroy", http://java.sun.com/xml/ns/javaee":message-destination, "http://java.sun.com/xml/ns/javaee":locale-encoding- mapping-list} ''se espera. [12] Validación XML finalizada.

Mi web.xml es el siguiente:

<?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"> <session-config> <session-timeout> 30 </session-timeout> </session-config> <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/fmt-rt</taglib-uri> <taglib-location>/WEB-INF/fmt-rt.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/core-rt</taglib-uri> <taglib-location>/WEB-INF/c-rt.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/sql-rt</taglib-uri> <taglib-location>/WEB-INF/sql-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/x</taglib-uri> <taglib-location>/WEB-INF/x.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri> <taglib-location>/WEB-INF/x-rt.tld</taglib-location> </taglib> </web-app>

Creo que el esquema xml especificado al principio de web.xml no permite etiquetas taglib, pero no tengo idea de qué esquema debo usar.

Realmente podría aplicar un tutorial paso a paso para agregar soporte jstl a weblogic. Gracias por adelantado.

ACTUALIZACIÓN Eliminar los <taglib> ''s de web.xml termina con errores como los siguientes:

index.jsp: 18: 14: La clase del controlador de etiquetas no se encontró "org.apache.taglibs.standard.tag.rt.core.ForEachTag".

y por los contenidos del archivo c.tld es claro que weblogic entiende que forEach corresponde a org.apache.taglibs.standard.tag.rt.core.ForEachTag, pero no puede encontrar la clase. Pero puedo encontrar esta clase manualmente en standard.jar.


Debe incluir jstl.jar y standard.jar en la carpeta WEB-INF / lib, no en la carpeta WEB-INF. Supongo que eso resolverá este problema.


agregue la biblioteca-ref en weblogic.xml:

<?xml version="1.0" encoding="UTF-8"?> <wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" 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/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd"> <wls:library-ref> <wls:library-name>jstl</wls:library-name> <wls:specification-version>1.2</wls:specification-version> <wls:exact-match>false</wls:exact-match> </wls:library-ref> </wls:weblogic-web-app>

La biblioteca jstl se implementa por defecto en WebLogic, por lo que no te preocupes por ese lado.