2010-09-23 4 views
22

Ich habe diese web.xmlWarum ist <taglib> mir ein Problem in meiner web.xml geben

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

Das markiert ist und der Fehler der IDE gibt, ist: „Invalid Inhalt gefunden wurde mit dem Element gestartet ...

Was muss ich tun, um

+0

Was mehr müssen Sie tun? Sie müssen @ Jaydeeps Antwort akzeptieren. :-P –

Antwort

45

Mit dieser Notation:

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

Aber ich empfohlen, diese link zu lesen. Dieses Tutorial gibt Ihnen eine Idee, wie man die Deklaration von Taglibs in web.xml im Falle von JSP 2.0 vermeidet

+0

Vielen Dank. Es hat für mich funktioniert !!! –

+0

Funktioniert für mich! Danke Jaydeep. –

6

im XSD in XML-referenzierte, heißt es, dass für komplexe Art Web-appType Sie nur eine Auswahl von null bis viele der folgenden Elemente haben:?

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

Das Taglib-Element wird im XSD überhaupt nicht referenziert.

Ab dem Lesen this link scheint es, dass Sie keine Taglibs im Web-App-Dokument deklarieren müssen. Wenn Sie einfach das Attribut version = "2.5" haben, können Sie auf Tags in Ihren JSPs verweisen.

0

Wenn die Taglib innerhalb einer maven-Abhängigkeit ist, setzen Sie einfach den zu kompilierenden Bereich.

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