468x60

giovedì 26 gennaio 2012

Escape SQL strings in Java

Capita spesso di dover elaborare stringhe di testo per eliminare i caratteri speciali. Per questo scopo possiamo avvalerci della classe StringEscapeUtils di Apache Commons.

Ecco un esempio:
import org.apache.commons.lang.StringEscapeUtils;

public class StringUtilsEscapeExampleV1 {

  public static void main(String args[]) {
    String unescapedJava = "Are you for real?";
    System.err.println(
      StringEscapeUtils.escapeJava(unescapedJava));

    String unescapedJavaScript = "What's in a name?";
    System.err.println(
      StringEscapeUtils.escapeJavaScript(unescapedJavaScript));

    String unescapedSql = "Mc'Williams";
    System.err.println(
      StringEscapeUtils.escapeSql(unescapedSql));

    String unescapedXML = "";
    System.err.println(
      StringEscapeUtils.escapeXml(unescapedXML));

    String unescapedHTML = "";
    System.err.println(
      StringEscapeUtils.escapeHtml(unescapedHTML));

  }
}
Oppure, nei casi più semplici, possiamo usare un semplice replaceAll() che sostituisce tutte le occorrenze di un dato carattere. Ad esempio, quando si lavora con stringhe SQL, causano problemi i singoli apici ( ' ), che è possibile rimpiazzare semplicemente con stringa.replaceAll("'", "''")

Nessun commento:

Posta un commento

468x60

Cerca su Google

Cerca nel Blog con Google