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

    Includere un JSPF in una JSP a runtime

    buona sera,

    ho un problema ad includere un JSPF dentro una JSP con un file scelto al momento della richiesta.

    La JSP è in realtà il template. Il percorso del file da caricare all'interno della JSP è contenuto dentro un attributo della variabile request. Il problema è che non so come poter includere un file da una variabile. Grazie in anticipo.
    ...

  2. #2
    Tra le virgolette del tuo include prova a mettere:

    codice:
    <%= request.getAttribute(variabile); %>
    "Na' sedia te vojo tirà!"

  3. #3
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Senza punto e virgola alla fine, però...

  4. #4
    Tomcat ha tentato di uccidermi!

    An error occurred at line: 57 in the jsp file: /WEB-INF/template/mainTemplate.jsp
    content cannot be resolved
    54: </div>
    55: </div>
    56: <div id="contentbox">
    57: <div id="contentbox2"><jsp:include page="<%= request.getAttribute(content) %>"/><div style="clear:both"></div>
    ...

  5. #5
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    )

    In effetti, guardando meglio quello che vuoi fare non credo proprio sia possibile fare una include "statica" di codice.
    Puoi utilizzare una include "dinamica" richiamando un'altra risorsa (pagina) tramite dispatcher... prova a guardare qui:

    http://java.sun.com/j2ee/1.4/docs/tu...Servlets9.html

  6. #6
    allora evidentemente sto sbagliando a realizzare questa cosa se la soluzione è una cosa di "nicchia".

    Mi spiego meglio.
    Ho molte pagine nel sito e c'è un JSP che appunto fa da template.

    In genere questa cosa come è realizzata nei progetti? Voglio dire, non sarò mica l'unico che si è trovato ad affrontare questo problema.
    Voglio dire che è normale avere una pagina che fa da template e poi il contenuto cambia pagina per pagina.

    In genere voi come fate?
    ...

  7. #7
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Ho capito cosa intendi... e se esiste qualche tecnica in grado di realizzarlo sinceramente non la conosco.

    Quando viene richiamata una pagina JSP, il servlet container esegue normalmente due passi:
    1) traduzione da JSP a JAVA
    2) compilazione del JAVA in CLASS
    a cui segue il caricamento in memoria del CLASS e la sua esecuzione (SE E SOLO SE la tua pagina è stata modificata, se no viene effettuato direttamente il loading).

    Tutto ciò avviene PRIMA dell'esecuzione della pagina, quindi l'oggetto request non esiste ancora e non può essere disponibile.
    Normalmente si utilizza la tecnica che ti ho linkato: si esegue una include "dinamica" in cui viene eseguita una risorsa esterna. Ovviamente, visto che il codice è richiamato e non fisicamente incluso non puoi utilizzare direttamente i nomi delle variabili come puoi fare da direttiva "include".

  8. #8
    E' un problema, perchè così l'alternativa sarebbe di creare una JSP per ogni pagina e includere l'header e il fotter dentro ogni pagina del sito.
    Insomma, non è decisamente la soluzione migliore.

    Sto pensando di tornare al php per questo progetto, almeno potrei avere una cosa del genere:
    <?php
    include "header.php"
    include $content;
    include "footer.php";
    ?php>

    E' caruccio il java che è molto tipato, l'intellisense funziona molto bene, ha una ottima documentazione e le pagine sono visibilmente più performanti per il caricamento, senza considerare che è molto più facile realizzare il pattern MVC. Infatti per questo progetto in java mi sono realizzato un MainController, le classi actions e views. Non ho usato struts perchè avevo la necessità di una maggiore flessibilità.

    Il problema che dicevo prima è fortemente limitativo in sito molto dinamico con molte pagine. Spero di poterlo risolvere con qualche soluzione standard di java

    grazie comunque per l'aiuto
    ...

  9. #9
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Scusami, allora ritiro quello che ho detto: forse non ho capito del tutto.

    Vedendo il codice PHP che hai scritto (sono svariati anni che non ci lavoro, quindi non ricordo bene il funzionamento dell'interprete) mi sembra di capire che tu voglia passare nella request il codice da eseguire... è corretto?
    Se no, se vuoi provare a spiegare meglio il tuo problema... perchè in caso contrario mi sembra che in realtà la tecnica di dispatching ti possa andare bene

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    41
    ehi hai provato a fare così:

    <%@ include file="include/header.jsp" %>

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.