Semplice JSP – Attributo non valido per il tag secondo TLD

Il mio progetto in eclipse –

Semplice JSP - Attributo non valido per il tag secondo TLD

Ottengo il seguente errore quando eseguo MyTagUser.jsp – HTTP Status 500 - /jsp/MyTagUser.jsp(14,0) Attribute subTitle invalid for tag Header according to TLD

org.apache.jasper.JasperException: /jsp/MyTagUser.jsp(14,0) Attribute subTitle 
invalid for tag Header according to TLD

org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
 org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)...etc.

Frammento di Intestazione.jsp –

<body>
<img src="../images/java_logo.gif"><br>
<em><strong> ${subTitle} </strong></em> <br>
</body>

Frammento di MyTagUser.jsp –

<%@ taglib prefix="myTags" tagdir="/WEB-INF/tags"%>
<html>
<head>
</head>
<body>
<myTags:Header  subTitle="Java is the best !!!" />
JSP and Servlets.
</body>
</html>
  • Sembra che si sta tentando di seguire con la Testa Prima di Servlet e JSP, 2 ° Edizione. Poche pagine dopo si potrà parlare di una soluzione che @Borat Sagdiyev ha dato



2 Replies
  1. 5

    È necessario utilizzare l’attributo direttiva in Intestazione.tag del file come indicato di seguito –

    <body>
    <%@ attribute name="subTitle" required="true" rtexprvalue="true" %>
    <img src="../images/java_logo.gif"><br>
    <em><strong> ${subTitle} </strong></em> <br>
    </body>
    • Ho trovato rtexprvalue="true" essere la parte fondamentale quando ho incontrato l’OP l’errore di provare a passare un attributo di un tag personalizzato a un altro. Entrambi erano stati correttamente dichiarazione di attributi previsti, ma senza specificare rtexprvalue="true" sarebbe un errore a prescindere.
  2. 0

    Prima Soluzione:

    Sembra, si è voluto includere nell’area dell’intestazione nella pagina jsp. Ma è sbagliato il modo.

    Si dovrebbe creare un’intestazione.jsp e quindi includere l’intestazione.jsp nel tuo MyTagUser.jsp e si dovrebbe essere sotto la directory WEB-INF(o dei suoi sub-directory).

    Compreso il metodo : <%@ include file=”WEB-INF/tag/header.jsp”> utilizzare questo codice MyTagUser.jsp

    Seconda Soluzione :

    nel tag del file

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> core jstl taglib if necessary
    
    <%@ attribute name="subtitle" required="true" %> this is subTitle attribute

    si dovrebbe definire l’attributo(s). check out http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPTags5.html

    • Voglio creare un’Intestazione.tag il file di Intestazione.jsp che saranno utilizzati da parte mia JSP. Come faccio a fare che ?
    • in seconda soluzione.

Lascia un commento