Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232

    [Java] passaggio valore tramite URL

    Salve a tutti, ho un problemino, spero (ansi sono sicuro) che qualcuno
    me lo risolva.

    Parliamo di java.
    Sono da poco nella programmazione java ed ho il seguente problema,
    ho a che fare con delle servlet, ma questo penso sia irrilevante.

    Una funzione mi ritorna una variabile, ad esempio "pippo", che contiene un testo. Questa variabile io adesso la voglio passare
    tramite URL (e sotto vi posterò la funzione che uso per aprire una
    connessione ad un URL)ad una pagina .php

    la funzione che uso è questa
    *******************************
    public void GoToURL(String pagina)
    {
    try
    {
    URL url = new URL(pagina);
    URLConnection urlconnection = url.openConnection();
    BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(urlconnection.getInputStream())) ;
    String s1;
    while((s1 = bufferedreader.readLine()) != null)
    out.println(s1);

    bufferedreader.close();
    out.close();
    }
    catch(MalformedURLException malformedurlexception)
    {
    malformedurlexception.printStackTrace(out);
    }
    catch(IOException ioexception)
    {
    ioexception.printStackTrace(out);
    }
    *********************

    dove quel string "pagina" corrisponde ad un url (del tipo "http://.....prova.php")

    avendo io il testo che mi interessa passare alla pagina prova.php
    nella variabile pippo, come faccio a passarlo tramite URL????

    ho provato a fare "http://..........prova.php?var=pippo"

    ma non funziona, infatti se nella pagina prova.php provo a stampare
    var, mi verrà visualizzato "pippo", come faccio a far stampare il "contunuto" di pippo????

    Ringrazio anticipatamente chi risponderà.
    Ciao a tutti

  2. #2
    Con pippo contiene un testo vuoi dire che pippo è un oggetto che contiene una stringa o cmq nel tuo caso una semplice stringa, giusto?

    Se è così o metti pippo come attributo di sessione o metti direttamente la stringa nell'url. Nell'url è possibile passare solo stringhe non oggetti tramite variabili.
    ..::200 post il 1 settembre 2004::..
    ..::100 13/07/2004::..
    ..): Web Site (pazienza però) ..
    VASCO castiga chi non lecca la FIGA

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232
    il mio "pippo" è una variabile di ritorno da un'altra funzione.
    "pippo" contiene una stringa, se infatti provo a fare un
    "System.out.println(pippo)", mi viene stampato il suo contenuto.

    Grazie a te ho finalmente capito che tramite URL non si possono passare oggetti tramite variabile! Bene!

    Dunque,come faccio ad avere il contenuto di "pippo" in un'altra pagina tramite URL????

    forse con quel attributo di sessione??? mi spiegheresti gentilmente, magari con qlc riga di codice, come funziona? Grazie

  4. #4
    Le alternative sono:

    1. passi nell'url il valore di pippo

    2. usi gli attributi di sessione

    Nella funzione che crei:
    codice:
    //prendi la sessione
    HttpSession session = request.getSession();
    //aggiungi l'attributo
    session.setAttribute("nome attributo", valoreAttributo)
    Nel tuo caso la seconda riga sarebbe:
    codice:
    session.setAttribute("pippo", pippo)
    Nella pagina chiamata per prelevare l'attributo di sessione usi:
    codice:
    String ret = (String)session.getAttribute("pippo");
    Il cast serve perchè questa funzione ti restituisce un obj. Se il tuo attributo di sessione è un altro tipo di oggetto devi fare il cast opportuno.

    Se l'attributo di sessione non ti serve + puoi eliminarlo con:
    codice:
    session.removeAttribute("pippo");
    Potresti usare anche i JavaBean.
    ..::200 post il 1 settembre 2004::..
    ..::100 13/07/2004::..
    ..): Web Site (pazienza però) ..
    VASCO castiga chi non lecca la FIGA

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232
    Ti ringrazio per la risposta...scusa se non ti ho risposto subito....
    ...allora con il tuo codice utilizzo una sessione, e fino a qui ci siamo...

    definisco un attributo e gli dò il valore...OK

    il problema che la pagina che io richiamo tramite URL è una pagina .php, quindi
    non posso utilizzare quel "String ret = (String)session.getAttribute....."
    per riprendere il valore dell'attributo "pippo".....

    avevo pensato di utilizzare un form ed un metodo GET o POST per inviare la variabile
    alla pagina dell'action....

    ma il mio problema rimane sempre quello.....

    io nella pagina che mi creo e che contiene il form, ho anche la variabile, con il suo valore (che faccio
    stampare nella stessa pagina)...come faccio a creare un form con type "hiddenFiel" e che abbia come
    valore il contenuto di pippo??????

    se uso <form............value="pippo" o uso <form.........value=pippo..

    mi invia alla pagina dell'action sempre il valore "pippo" come stringa "pippo"....

    Come fare.....?


    comunque è impensabile che in java non sia fattibile una cosa del genere....

    io conosco un pò meglio PHP e lì è semplicissimo.....

    ho una variabile tipo $pippo = "paperino";

    chiamo un URL......e gli passo "http://............prova.php?nomevariabile=$pippo"

    e nella pagina .php se faccio stampare nomevariabile avrò "paperino"......
    in java una cosa simile non è possibile?????????

    grazie ancora a tutti per eventuali suggerimenti.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.