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

    Come si usa la Replace?[JSP]

    Buona pomeriggio,dovrei risolvere il problema dell'apice singolo.
    Adesso vi spiego meglio..
    Ho una textarea nella quale inserisco una descrizione nella quale ovviamente può capitare una parola del tipo d'epoca,d'acqua ecc.
    Questo testo lo inserisco in una tabella con una query Sql,il problema si verifica in questo frangente...
    Come posso ovviare a questo problema dell'apice singolo o apostrofo?
    Questo è il codice che richiama il testo comprendente l'apostrofo:
    String descrizione = request.getParameter("body").replace('?',' ');
    Ho cercato di usare la replace in questo modo...
    Il problema è che la replace vuole (char,char) e non mi riconosce l'apice singolo nel senso che se faccio es:
    String descrizione = request.getParameter("body").replace('?',''');
    mi da errore "Costante carattere non valida"

    Ma comunque credo che il problema sia a livello della query Sql..
    Questo è il codice della Insert:
    String sqlInsScad = ("Insert into CatalogoDVD values(" + "'" + titolo.trim() + "'" +
    "," + prezzo +
    "," + quantità +
    "," + "'" + descrizione.trim() + "'" +
    "," + "'" + scade + "'" +
    "," + "'" + login.trim() + "'" +
    "," + "'" + path_foto.trim() + "'" +
    "," + "'" + data_inserimento + "'" +
    ")");

    ConnessioneDB insScad = new ConnessioneDB();
    boolean sc = insScad.apriConnessione(sqlInsScad);

    Ho capito che,sono delle stringhe e necessitano di questa sintassi "'" + descrizione + "'",di conseguenza và in conflitto con l'apice singolo contenuto nella descrizione.
    Come posso ovviare a tutto ciò?

    Spero di essere stato chiaro..
    Vi ringrazio come sempre..ciao ciao

  2. #2
    Utente di HTML.it L'avatar di plafo
    Registrato dal
    Sep 2000
    Messaggi
    84
    per fare il replace io ho sempre usato un metodo creato appositamente dove passo la stringa interessata,il carattere da sostituire e quello da inserire....prova ad usarlo anche tu


    public static String replace(String source, String from, String to) {
    int s = 0;
    int e = 0;
    StringBuffer result = new StringBuffer();
    while ( ( e = source.indexOf( from, s ) ) >= 0 ) {
    result.append( source.substring( s, e ) );
    result.append( to );
    s = e + from.length();
    }
    result.append( source.substring( s ) );
    return result.toString();
    }




    ciao ciao

    Carlo
    non può piovere per sempre

  3. #3
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao per utilizzare la replace che vuoi puoi fare:

    replace( '\'','a' );


    Io ho sostituito il singolo apice cona il carattere a, per te non andrebbe bene penso.
    Inoltre nel jdk 1.4 c'è anche il replace( String, String ) che dovrebbe essere più semplice da utilizzare.
    Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  4. #4
    Grazie ragazzi..però ho fatto cosi,non so se è il metodo + giusto da usare però:
    char apice=39;
    String descrizione = request.getParameter("descrizione").replace(apice, '§');
    Questo all'atto della Insert,trasformo l'apice singolo con un carattere che non si usa quasi mai "§".

    Quando dovrò richiamare,il campo descrizione con tutto il suo contenuto per una visualizzazione a video faccio la cosa inversa:

    char apice=39;
    out.println("<td bgcolor=#ccccff>" + rs.getString("descrizione").replace('§',apice) + "</td>" +

    cosi credo sia + facile....
    Vi ringrazio ragazzi,comunque adotterò il vostro consiglio...
    Una comunicazione per Plafo...
    Non ho capito come si crea una servlet... mi puoi aiutare?

    Grazie a tutti ciauz

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.