Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    456

    Problema con request.getParameter e IF

    Ciao,
    ho uno strano problema con il valore che ricavo con request.getParameter e che poi utilizzo in una IF

    Scrivo il codice senza dilungarmi in spiegazioni

    codice:
    // il valore di nome sezione è Sezione
    String NomeSezione = request.getParameter("NomeSezione");
    
    // quando faccio la if mi viene dato esito negativo, eppure quando stampo la variabile NomeSezione  mi viene stampato il testo  Sezione, quindi il valore di NomeSezione è senza dubbio
    Sezione. 
    if(NomeSezione == "Sezione")
    	{
    		%>
    		bla bla bla
    		<%
    	}
    Come è possibile?

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

    Moderazione

    Spostato nella sezione dedicata a Java.

    Il motivo è semplice ed è alla base di tutta la programmazione in Java: gli oggetti si confrontano col metodo equals() e non con gli operatori, che vanno usati solo con i tipi primitivi.

    codice:
    if ( NomeSezione.equals("Sezione") ) {
       ...
    }
    
    // o meglio
    
    if ( "Sezione".equals(NomeSezione) ) {
       ...
    }
    PS: usa i tag CODE per il codice.


    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    456
    Grazie mille, sono all'inizio con lo studio del java

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da matpirata
    Grazie mille, sono all'inizio con lo studio del java
    Partire dalle JSP (che fanno parte di JEE) non mi sembra un approccio costruttivo.

    JEE è una piattaforma che aggiunge tecnologie avanzate a JSE, la piattaforma standard. Chi sviluppa su JEE dovrebbe avere già delle solide e avanzate basi di Java...

    Comunque, buono studio.


    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    456
    Adesso ho un problema relativo alla variabile NomeSezione, che deve essere dinamica.
    Valorizzo NomeSezione così
    private String NomeSezione = "nome"; (in altre occasioni è private String NomeSezione = "cognome"; ecc)

    if ( NomeSezione.equals("Sezione") ) {
    ...
    }

    ma non funziona

    Per farlo funzionare devo per forza scrivere in questo modo, impedendo però la gestione dinamica della variabile NomeSezione

    if ( Nome.equals("Sezione") ) {
    ...
    }

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Non che si sia capito molto.
    Se vuoi rendere dinamico il nome della variabile, no: nessun linguaggio ti permette di fare una cosa del genere... e pensare ad una cosa simile significa, nel 100% dei casi, sbagliare approccio.

    Spiega cosa vuoi fare.

    (e usa i tag CODE per il codice, vedi Regolamento interno)


    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

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    456
    no, non voglio dinamico il nome, voglio il valore dinamico
    per esempio:
    codice:
    private String nome = "matteo";
    private String cognome= "rossi";
    
    //dando  come valore 'nome' alla variabile 'nomevariabile' vorrei utilizzarla nella if di prima
    private String nomevariabile= "nome";
    
    if ( nomevariabile.equals("matteo") ) {
    ...
    }
    
    
    
    
    //poi usando la stessa variabile impostare come valore 'cognome'
    private String nomevariabile= "cognome";
    
    if ( nomevariabile.equals("rossi") ) {
    ...
    }

  8. #8
    Non ho capito bene quello che vuoi fare ma se scrivi :
    codice:
    private String nomevariabile= "nome";
    Stai assegando a a nomevariabile la stringa nome quindi varrà nome se vuoi assegnargli il valore di un altra variabile ossia puntarlo sulla stessa variabile devi togliere gli apici.
    codice:
    private String nome = "matteo";
    private String cognome= "rossi";
    
    private String nomevariabile= nome;
    Adesso le due variabili nome e nomevariabile avranno lo stesso valore.

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Dall'esempio che hai fatto, stai proprio cercando di rendere dinamico il nome di una variabile.
    Non si può e non ha senso farlo.

    Se lo vuoi fare in modo statico, non ha proprio alcun senso farlo.

    Se lo vuoi fare in modo dinamico (prendendo dall'utente il nome della variabile: nota che l'utente non deve sapere nulla del sorgente di un programma!!!) devi usare strutture dati apposite, tipo HashMap o Liste, ecc.

    Edit: se ho capito male io e ha capito bene snakeplinsky, il suo suggerimento è il modo corretto di procedere.


    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

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    456
    Vi spiego le cose nel dettaglio, altrimenti è difficile capire
    1)Ho un pagina jsp con un form e in un javabean metto una funzione che effettua dei controlli sui campi del form. Per comodità, diciamo che controlla se i campi sono pieni o vuoti.

    2) Nella pagina jsp, tramite setproperty passo al javaben il contenuto del campo da analizzare
    <jsp:setProperty name="Inserisci" property="nome" value="<%=NuovaSezione %>"/>

    3) Quindi, nel javabean ho una variabile Nome che contiene il valore del campo

    4) controllo se la variabile Nome è 'vuota'
    if(Nome.equals("")) {//blablabla}

    5) fin qui tutto bene. Ma il fatto è che io vorrei una funzione dinamica, da utilizzare in varie pagine. Quindi non posso definire all'interno del javabean che la variabile da analizzare è Nome. Dovrei poter inserire il nome della variabile Nome in un altra variabile, in modo da poter fare questa cosa
    if(NomeCampoDaAnalizzare.equals("")) {//blablabla}

    6) in questo modo, dalla pagina jsp posso dire al javabean che una volta NomeCampoDaAnalizzare corrisponde alla variabile nome, un'altra volta alla variabile cognome ecc.


    Spero di essere stato più chiaro questa volta

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.