Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    315

    JSP: doppio "ancoraggio"

    Salve,
    ho una JSP con un codice del tipo Pippo
    A questa stringa, quando ci clicco sopra, oltre che andare al collegamento riportato devo far eseguire due operazioni java sulla sessione.
    Come posso fare???

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Devi mandare un'altra richiesta al server per eseguire la servlet, oltre all'indirizzamento verso la destinazione del link. Purtroppo non si può fare tutto in un colpo solo, o meglio, bisogna farsi aiutare un po' da javascript. Poi devi decidere se vuoi una soluzione tipo "ajax", ossia una chiamata asincrona alla servlet, se puoi aprire una nuova finestra (tipo popup) oppure se ti andrebbe bene un frame nascosto a cui destinare la richiesta.

    Qualcosa del genere (senza ajax)

    codice:
    <a href="tuaPagina.jsp" onclick="window.open('tuaAltraPagina.jsp','popup','...');">...
    analoga per la soluzione con l'iframe, che andrai a richiamare con frames['nome_iframe']

    Per maggiori delucidazioni, ti consiglio di vedere la sezione javascript
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    315
    La cosa è molto più semplice...devo modificare una variabile di sessione solo quando premo sul link.

    Il problema è che se metto codice java in una funzione javascript <% session.setAttribute() %>, nel caricamento della pagina jsp a runtime il codice java viene sempre e cmq interpretato, anche se non ho chiamato la funzione javascript cliccando sul link.

    Spero di essere stato più chiaro.

  4. #4
    Tramite javascript puoi gestire l'evento onClick andando a settare un campo hidden col valore che vuoi immagazzinare. Poi nella pagina successiva prelevi questo valore (request.getParameter(...)) e lo metti in sessione tramite codice Java.
    Al mio segnale... scatenate l'inferno!

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    315
    Cioè, se ho capito bene io, dalla request.getParameter posso prendere il valore di un campo hidden??? in che modo? puoi farmi un esempio?

    Grazie

  6. #6
    nella pagina ti partenza hai:

    <input type="hidden" name="parametro" value="tuo_valore" />


    nella pagina di arrivo:

    <%

    session.setAttribute("nome_attributo",request.getP arameter("parametro"));

    %>
    Al mio segnale... scatenate l'inferno!

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    315
    La soluzione che mi hai proposto è buona, ma mi resta un problema:
    dopo che ho fatto
    codice:
    session.setAttribute("nome_attributo",request.getParameter("parametro"));
    posso finalmente testare il valore della sessione e fare la mia oprazione. Il problema però è che quel valore impostato nell'elemento hidden deve ritornare al valore di partenza, in modo da poter ripetere l'operazione in seguito. Altrimenti, qualunque altro test sulla variabile di sessione darebbe esito positivo, come se uno premesse sempre la bottoniera.

    Possibile che da javascript o sull'onclick di <a> non si possa settare direttamente la sessione???

    Grazie

  8. #8
    Non è possibile settare alcuna variabile di sessione direttamente da Javascript perchè Javascript opera lato client e non sul server.
    Al massimo puoi utilizzare AJAX, inviare dunque una richiesta ad una servlet sul server e qui aggiungere la variabile in sessione.
    Al mio segnale... scatenate l'inferno!

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.