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

    [Java Servlet] Disperato bisogno di aiuto...

    Salve a tutti!
    Ho un problema abbastanza serio e complesso (x quanto mi riguarda...)
    sono 2 gg che ci sto sbattendo la testa
    Aiutatemi vi prego... sono disperato!!!
    Problema:
    Ho una form in una pagina html ed una servlet che viene avviata al Submit della form. Questa servlet non fa altro che raccogliere i dati e spedirli via mail. Dunque: per ottenere i valori della form utilizzo il metodo delle servlet:

    String myStr = request.getParameter("nome campo")

    Così facendo ottengo all'interno di una stringa il valore dell'oggetto della form. Ora, se questa stringa la stampo da qlk parte o la scrivo su un file ad esempio, mi riporta esattamente quello che voglio (nel mio caso mi scrive "true"). Ma se questa stringa la tratto, facendo ad es. un controllo del tipo:

    if (myStr == "true")

    l'if mi dice che non vale "true", contrariamente a quanto detto prima (e scritto nel file). Non sono riuscito a capire il motivo di tutto ciò... anche perchè vorrei trattare cmq i valori ricevuti dalla form, non solo scriverli da qlk parte... Come si fa?!?!?!?
    aiutate un priciapiante in panne!

    Aiutatemi vi prego...

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao. Spero di aver capito bene il tuo problema.
    Allora per quanto riguarda le stringhe in Java per effettuare un controllo come hai fatto tu nell'if bisogna utilizzare equals() oppure equalsIgnoreCase() ( nel caso in cui non t'interessa il case sensitive ) e cioè:

    if (myStr == "true") {
    }

    Non va bene infatti myStr == "true" restituisce true solo se myStr ha lo stesso indirizzo di memoria di "true" ( il che potrebbe capitare ma non è detto ); per questo c'è il metodo equals() che è case sensitive ( e cioè fa differenza tra maiuscole e minuscole ).E cioè:

    if (myStr.equals( "true" ) ) {
    }


    e ritorna true solo se myStr è pari a "true" ma se dovesse essere myStr="True" esso da false.
    Per ovviare a ciò c'è equalsIgnoreCase.
    Spero di eserti stato utile. Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  3. #3

    già fatto... AIUTO!!!

    Grazie 1000...
    ma già le ho provate tutte! addirittura andavo a vedere cosa mi scriveva nel file, così da fare il controllo nell'if con esattamente quello che mi scriveva nel file, stando bene attento alle maiuscole/minuscole...

    Xkè fa così?!

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.