2010-09-23 18 views
22

ho questo web.xmlPerché <taglib> dandomi un problema nella mia 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> 

L'viene evidenziato e l'errore l'IDE dà è: "il contenuto non valido è stato trovato a partire con l'elemento ...

che altro devo fare

+0

Cosa altro devi fare? Devi accettare la risposta di @ Jaydeep. :-P –

risposta

45

Usa questa notazione:

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

Ma mi consiglia di leggere questo link. Questo tutorial vi darà un'idea di come evitare taglibs dichiarano in web.xml in caso di JSP 2.0

+0

Grazie mille. Ha funzionato per me !!! –

+0

Funziona per me! grazie Jaydeep. –

6

nel XSD si fa riferimento nella vostra XML, si afferma che per il tipo complesso web-di tipi di applicazioni si può avere solo una scelta di zero a molti dei seguenti elementi:?

<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> 

L'elemento TagliB non è affatto referenziato nell'XSD.

Dalla lettura di this link sembra che non sia necessario dichiarare tagli nel documento dell'app Web. Il semplice attributo version = "2.5" significa che puoi fare riferimento ai tag nei tuoi JSP.

0

Se la taglib si trova all'interno di una dipendenza Maven, basta impostare l'ambito per la compilazione.

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