Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Struts - tag library not found

    Ciao a tutti,
    sto ai primi passi con struts versione 1 e sto utilizzando eclipse, tomcat 6.0 e java 6.
    Ho un problema con le tag library, non me li vede... In allegato c'è lo screenshot della mia root dove si vede anche il web.xml come è stato mappato.
    Nella mia JSP il codice è questo:
    <%@ taglib uri="/WEB-INF/struts-bean" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-logic" prefix="logic" %>
    ho provato anche a mettere l'estensione .tld ma mi dà sempre questa eccezione:

    org.apache.jasper.JasperException: File "/WEB-INF/struts-bean" not found
    org.apache.jasper.compiler.DefaultErrorHandler.jsp Error(DefaultErrorHandler.java:51)
    org.apache.jasper.compiler.ErrorDispatcher.dispatc h(ErrorDispatcher.java:409)
    org.apache.jasper.compiler.ErrorDispatcher.jspErro r(ErrorDispatcher.java:116)
    org.apache.jasper.compiler.TagLibraryInfoImpl.<ini t>(TagLibraryInfoImpl.java:160)
    org.apache.jasper.compiler.Parser.parseTaglibDirec tive(Parser.java:420)
    org.apache.jasper.compiler.Parser.parseDirective(P arser.java:483)
    org.apache.jasper.compiler.Parser.parseElements(Pa rser.java:1433)
    org.apache.jasper.compiler.Parser.parse(Parser.jav a:133)
    org.apache.jasper.compiler.ParserController.doPars e(ParserController.java:216)
    org.apache.jasper.compiler.ParserController.parse( ParserController.java:103)
    org.apache.jasper.compiler.Compiler.generateJava(C ompiler.java:153)
    org.apache.jasper.compiler.Compiler.compile(Compil er.java:314)
    org.apache.jasper.compiler.Compiler.compile(Compil er.java:294)
    org.apache.jasper.compiler.Compiler.compile(Compil er.java:281)
    org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:566)
    org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:317)
    org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:337)
    org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:803)

    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.



    Vi ringrazio in anticipo!
    Langella Marco
    Programmatore Java Junior

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Struts - tag library not found

    Originariamente inviato da markostalker
    Nella mia JSP il codice è questo:
    <%@ taglib uri="/WEB-INF/struts-bean" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-logic" prefix="logic" %>
    No, non devi usare un pathname ma l'URI specifico della tag library.

    Dalla documentazione:

    Standard Syntax:
    <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %>

    Cosa simile per le altre tag library.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    ciao, intanto grazie per l'aiuto.
    Cmq qual è ma l'URI specifico della tag library? Ho provato a modificare come mi hai consigliato, sia nella jsp che nel taglib-uri del web.xml, ma mi dà questa eccezione:

    org.apache.jasper.JasperException: The absolute uri: http://struts.apache.org/tags-bean cannot be resolved in either web.xml or the jar files deployed with this application


    Ci vuole il jar?
    Langella Marco
    Programmatore Java Junior

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da markostalker
    Cmq qual è ma l'URI specifico della tag library?
    Basta guardare nel tlddoc per ognuna delle tag library, che trovi a partire da qui:
    http://struts.apache.org/1.3.10/stru...lib/index.html

    Originariamente inviato da markostalker
    che nel taglib-uri del web.xml
    Se il tuo DD (web.xml) indica la versione 2.3 o superiore (quindi almeno le JSP 1.2), non c'è più alcun bisogno di "mappare" esplicitamente nel DD le tag lib.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Eh purtroppo la versione del web.xml è 1.0, poi uso JSP 2.0 e Servlets 2.4...
    Langella Marco
    Programmatore Java Junior

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da markostalker
    Eh purtroppo la versione del web.xml è 1.0, poi uso JSP 2.0 e Servlets 2.4...
    Deduco che hai idee poco chiare .... non si sta parlando della versione di XML, ovvero ciò che è indicato nella "XML declaration":

    <?xml version="1.0" ...eventualmente altro...?>

    Questa è tipicamente sempre 1.0, anche se esiste già XML 1.1 che offre qualcosa in più ma più che altro per le questioni sui caratteri .... che non serve/centra molto con il DD.

    Qui si sta parlando della versione descritta per la webapp:

    codice:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
             version="2.4">
    .....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Non riesco a trovare la versione...il mio xml è questo:

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

    <web-app>
    <display-name>Struts Blank Application</display-name>


    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>2</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
    </servlet>



    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>



    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>



    <taglib>
    <taglib-uri>/tags/struts-bean</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib>

    <taglib>
    <taglib-uri>/tags/struts-html</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    </taglib>

    <taglib>
    <taglib-uri>/tags/struts-logic</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
    </taglib>

    <taglib>
    <taglib-uri>/tags/struts-nested</taglib-uri>
    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
    </taglib>

    <taglib>
    <taglib-uri>/tags/struts-tiles</taglib-uri>
    <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
    </taglib>

    </web-app>
    Langella Marco
    Programmatore Java Junior

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da markostalker
    <?xml version="1.0" encoding="ISO-8859-1"?>

    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

    <web-app>
    Per la 2.2 è diverso, è giusto che ci sia solo <web-app> perchè la grammatica del DD è descritta da un DTD (infatti c'è il DOCTYPE nel prologo) mentre dalla 2.4 in poi è descritta da un XML Schema (XSD).

    La tua webapp sta seguendo le specifiche Servlet 2.2. Pertanto non puoi usare le JSP 2.0.

    Quindi o aggiorni il DD oppure .... se vuoi usare Struts 1.x dovresti fare un po' di cose manuali, come descritto qui (che personalmente non ho mai fatto perché per i miei sviluppi con Struts ho sempre usato almeno le Servlet 2.3).

    Meglio aggiornare il DD, tanto vedo che usi Tomcat 6.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    ah capito...ma dove posso scaricare le varie versioni di JSP e servlet?
    Langella Marco
    Programmatore Java Junior

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da markostalker
    ma dove posso scaricare le varie versioni di JSP e servlet?
    Non devi "scaricare" nulla, non so quale versione di Eclipse usi ma se hai il WTP (Web Tools Platform) installato in Eclipse per poter creare applicazioni Java EE, dovresti avere già tutto quanto per usare JSP 2.0 e servlet 2.4.

    La questione è solo la dichiarazione della versione nel web.xml.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.