Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [JSP E JAVA] cast string int

    salve a tutti!
    ho una pagina jsp (prima.jsp) che contine un intero

    codice:
    int z=5;
    e lo passa a una seconda pagina jsp (seconda.jsp) attraverso il comando

    codice:
    request.setAttribute("z", z);
    RequestDispatcher dispatcher;
    dispatcher = getServletContext().getRequestDispatcher(
          "/seconda.jsp");
    dispatcher.forward(request,response);

    Nella seconda pagina vorrei richimare z, ma mi da errore!!!
    Le uniche tipologie di dati che mi permette di prendere con la request.getAttribute sono stringhe!!

    ho provato a fare:
    -cast da string a int
    -integer.parseInt
    -fare nella parima pagina un cast da int a string e nella seconda da string a int

    ma in nessun modo riesco a vedere z come un numero, come devo fare???


    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Inizia con il postare l'errore...

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Re: [JSP E JAVA] cast string int

    Originariamente inviato da Annasila7
    Nella seconda pagina vorrei richimare z, ma mi da errore!!!
    Le uniche tipologie di dati che mi permette di prendere con la request.getAttribute sono stringhe!!
    No. getAttribute() ritorna un Object, non necessariamente uno String

    ho provato a fare:
    -cast da string a int
    Non esiste il cast da String a int. L'operazione di cast in questo caso non c'entra nulla: da String a int (o viceversa) ci si arriva tramite una conversione di tipo. Il cast non converte assolutamente nulla.

    -integer.parseInt
    -fare nella parima pagina un cast da int a string e nella seconda da string a int
    Tutte cose che non servono. Da Java 5 in avanti, l'operazione che hai fatto tu (il setAttribute() passando l'intero z) è lecita solo grazie all'autoboxing; prima ti avrebbe dato un errore in compilazione in quanto il tipo "int" è primitivo e non un oggetto. Il tuo int è diventato (grazie all'autoboxing) un Integer... ed è esattamente come tale che lo recupererai, tramite un cast esplicito (qui sì, perchè Java lo vede come un Object):

    codice:
    Integer val = (Integer) request.getAttribute("z");

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.