2010-09-23 14 views
22

tengo unas pocas cosas Web.xml<taglib> me da un problema en mi web.xml

<?xml version="1.0" encoding="UTF-8"?> 
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>jsp-tags</display-name> 
    <taglib> 
     <taglib-uri>mytags</taglib-uri> 
     <taglib-location>/WEB-INF/mytaglib.tld</taglib-location> 
    </taglib> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

El resaltado y el error del IDE da es: "se encontró contenido no válido a partir de elementos ...

¿Qué más tengo que hacer

+0

¿Qué más necesitas hacer? Debes aceptar la respuesta de @ Jaydeep. :-P –

Respuesta

45

Utilice esta notación:

<jsp-config> 
     <taglib> 
       <taglib-uri>mytags</taglib-uri> 
       <taglib-location>/WEB-INF/jsp/mytaglib.tld</taglib-location> 
     </taglib> 
</jsp-config> 

Pero me recomienda leer esta link. Este tutorial le dará idea de cómo evitar taglibs declaran en web.xml en el caso de JSP 2.0

+0

Gracias mucho. ¡Funcionó para mí! –

+0

¡Funciona para mí! gracias Jaydeep. –

6

en el XSD se hace referencia en el XML, se establece que para el tipo compleja red-tipo de Aplicación que sólo puede tener una opción de cero a muchos de los elementos siguientes:?

<xsd:choice minOccurs="0" maxOccurs="unbounded"> 
    <xsd:group ref="javaee:descriptionGroup"/> 
    <xsd:element name="distributable" 
type="javaee:emptyType"/> 
    <xsd:element name="context-param" 
type="javaee:param-valueType"> 

    </xsd:element> 
    <xsd:element name="filter" 
type="javaee:filterType"/> 
    <xsd:element name="filter-mapping" 
type="javaee:filter-mappingType"/> 
    <xsd:element name="listener" 
type="javaee:listenerType"/> 
    <xsd:element name="servlet" 
type="javaee:servletType"/> 
    <xsd:element name="servlet-mapping" 
type="javaee:servlet-mappingType"/> 
    <xsd:element name="session-config" 
type="javaee:session-configType"/> 
    <xsd:element name="mime-mapping" 
type="javaee:mime-mappingType"/> 
    <xsd:element name="welcome-file-list" 
type="javaee:welcome-file-listType"/> 
    <xsd:element name="error-page" 
type="javaee:error-pageType"/> 
    <xsd:element name="jsp-config" 
type="javaee:jsp-configType"/> 
    <xsd:element name="security-constraint" 
type="javaee:security-constraintType"/> 
    <xsd:element name="login-config" 
type="javaee:login-configType"/> 
    <xsd:element name="security-role" 
type="javaee:security-roleType"/> 
    <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/> 
    <xsd:element name="message-destination" 
type="javaee:message-destinationType"/> 
    <xsd:element name="locale-encoding-mapping-list" 
type="javaee:locale-encoding-mapping-listType"/> 
</xsd:choice> 

El elemento taglib no se referencia en absoluto en el XSD.

Al leer this link parece que no necesita declarar taglibs en el documento de la aplicación web. Simplemente tener el atributo version = "2.5" significa que puede hacer referencia a las etiquetas en sus JSP.

0

Si el taglib está dentro de una dependencia experto, apenas se fija el alcance de compilar.

<dependency> 
    <groupId>org.apache.struts</groupId> 
    <artifactId>struts-taglib</artifactId> 
    <version>1.3.10</version> 
    <scope>compile</scope> 
</dependency> 
Cuestiones relacionadas