Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: Tag Jstl

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    88

    Tag Jstl

    Ciau, sto studiando i TAG JSTL, però ho un piccolo probmea:

    prima di tutto ho scaricato i jar da:

    https://jstl.dev.java.net/download.html

    e li ho importati sul mio progetto, dopo ho provato a fare un semplice conteggio, pagina jsp normale:

    Codice PHP:
    <html>
      <
    head>
        <
    title>Count to 10 in JSP scriptlet</title>
      </
    head>
      <
    body>
    <%
      for(
    int i=1;i<=10;i++)
    {%>
    <%=
    i%>

    <%
    }
    %>
      </
    body>
    </
    html


    Pagina jsp con i tag jstl:

    Codice PHP:
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
    <
    html>
      <
    head>
        <
    title>Count to 10 Example (using JSTL)</title>
      </
    head>

      <
    body>
        <
    c:forEach var="i" begin="1" end="10" step="1">
            <
    c:out value="${i}/>

          

        </
    c:forEach>
      </
    body>

    </
    html
    ok in quest'ultima mi da il seguente errore:

    g.apache.jasper.JasperException: /testtag.jsp(9,6) PWC6236: According to TLD or attribute directive in tag file, attribute value does not accept any expressions

    sul server glassifh mi dice:

    PWC6117: File "C:\Programmi\glassfish-v2ur2\domains\domain1\docroot\count.jsp" not found

    ma io count.jsp da dove lo prendo?---

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

    Re: Tag Jstl

    Originariamente inviato da JMacos
    g.apache.jasper.JasperException: /testtag.jsp(9,6) PWC6236: According to TLD or attribute directive in tag file, attribute value does not accept any expressions
    http://java.sun.com/jstl/core è l'URI per JSTL 1.0.

    Usa:
    http://java.sun.com/jsp/jstl/core
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    88

    ^^

    Ok, ora funge, senti ma io studiando i tag jstl, avevo letto anche di una loro installazione,scaricare i file jar, poi estrarli nella cartella in cui è installato glasshfish, e poi importare i file con estenzione tld in web-inf del progetto, non si deve fare tutto questo procedimento?...

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

    Re: ^^

    Originariamente inviato da JMacos
    avevo letto anche di una loro installazione,scaricare i file jar, poi estrarli nella cartella in cui è installato glasshfish, e poi importare i file con estenzione tld in web-inf del progetto, non si deve fare tutto questo procedimento?...
    Se il "container" non supporta JSP 2.0 è necessario fare la mappatura tra l'URI e la locazione fisica del file .tld all'interno del Deployment Descriptor (web.xml).

    Ma se supporta JSP 2.0 è opzionale ... perché il container è in grado di trovare i TLD in automatico "guardando" in certe aree della web application (per la precisione: .tld "sfusi" in WEB-INF o una sua sotto directory oppure .tld nella directory META-INF o sottodirectory dentro jar posizionati sotto WEB-INF/lib).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    88

    jstl

    Capito, però la cosa che non ho capito è come faccio a importare gli entities con le jstl? per esempio in un codice delle jsp ho:

    <%
    java.util.List<entities.homepage.Homepage> listaHome = (java.util.List<entities.homepage.Homepage>) session.getAttribute("lista_home_page");
    %>

    <%
    for (entities.homepage.Homepage home : listaHome) {

    %>

    <%=home.getTitoloUno()%>
    <%=home.getTestoUno()%>

    con getAttribute recupero la sessione dalla servlet, e poi col ciclo for each, mi faccio ciclare tutto, così mi faccio stampare titoloUno, e testoUno... usando le njstl come dovrei fa...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    88

    tag

    cioè il problema non sarebbe nemmeno il codice jstl, ma lo scope nella servlet, nella servlet io per esempio scrivo:

    Codice PHP:

    HttpSession sessioneHome 
    request.getSession(true);

    List<
    HomepagelistaHome homePageFacade.findAll();
    sessioneHome.setAttribute("lista_home_page"listaHome); 
    in questo modo, creo la sessione, poi in una List mi cerco tutto ciò che ho, e poi passo la sessione alla collection , come imposto il requestscope?

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

    Re: tag

    Originariamente inviato da JMacos
    come imposto il requestscope?
    Come hai fatto sopra lista_home_page è un attributo di "sessione". Se vuoi metterlo come attributo della "request" (appunto request scope) allora usa setAttribute() sul HttpServletRequest.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    88

    tag jstl

    Ok, quindi in teoria non ho bisogno di altro nella servlet, nella jsp ho messo:

    Codice PHP:
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>


    <
    table border="1">
    <
    c:forEach var=?listahomeitems=?${sessionScope.listaHome}?>
    <tr>
      <td><c:out value=?${listaHome.titoloUno}?/></td>
      <td><c:out value=?${listaHome.titoloUno}?/></td>
    </tr>
    </c:forEach>
    </table> 
    direttamente nella jsp mi da:

    quote symbol expected, se tolgo

    Codice PHP:
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
    togliendo questo provo a compilare, mi compila bene, però poi non appare nulla, apparte che come variabile non saprei cosa mettere...

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

    Re: tag jstl

    Originariamente inviato da JMacos
    però poi non appare nulla, apparte che come variabile non saprei cosa mettere...
    Se hai fatto:

    codice:
    sessioneHome.setAttribute("lista_home_page", listaHome);
    Dove sessioneHome è un HttpSession, allora lista_home_page è un "attributo" di sessione.

    Nella JSP tramite EL e JSTL dovrai mettere:

    codice:
    <c:forEach var="item_home_page" items="${sessionScope.lista_home_page}">
    ...
       <c:out value="${item_home_page.titoloUno}"/>
    sessionScope non è obbligatorio. Se lo metti cerca solo in questo scope. Se metti solo ${lista_home_page} cerca in tutti gli scope ma ovviamente se lista_home_page è solo nel session scope lo trova comunque.

    Se nella servlet il nome è lista_home_page ... nella JSP devi mettere proprio questo nome! Non un altro listaHome o come ti pare.

    La variabile che ha visibilità solo nel corpo del forEach può avere il nome che ti pare. Io ho messo item_home_page per indicare che è un elemento della lista.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    88

    jstl

    Però continua a non stamparmi nulla...

    Codice PHP:
    <table>
    <
    c:forEach var="titolo_home_page" items=?${lista_hsessionScope.lista_home_page}?>
    <tr>
      <td><c:out value=?${titolo_home_page.titoloUno}?/></td>
    </tr>
    </c:forEach>
    </table> 

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.