URLEncode für mailto-Link?

janw

Mitglied
URLEncode für mailto-Link?

Hallo zusammen,
ich stehe vor folgender Aufgabe:
Ich habe ein Formular, das u.a. ein mehrzeiliges Textfeld und einen Senden-Button enthält.
Das Formular addressiert ein Servlet.
Nach Klick auf den Senden-Button erstelle ich einen Link auf eine mailto-URL.
Der Text aus der Textarea soll in den Mail-Body übernommen werden.

Das Problem für mich sind Zeichen im Body wie Leerzeichen, $ usw. Für die korrekte Darstellung im Body müsste das Leerzeichen durch %20 ersetzt werden, ! durch %21 usw.
Ich dachte, das könnte die Methode URLEncoder.encodeURL(String).

Ein Codestück wie
Code:
  String message = " 1 + 1 = 2, das weiß doch jeder! ";
     message = URLEncoder.encode(message, "UTF-8");
     //Generiere mailto-Link mit Inhalt der Variablen message im Body...
erzeugt einen mailto-Link, in dem ein Leerzeichen durch ein '+' ersetzt wird.
Der Body sieht dann so aus:
+1+++1+=+2,+das+weiß+doch+jeder!+

Lautet nun die Lösung, jedes Sonderzeichen manuell zu ersetzen?
Code:
     message = message.replaceAll(" ", "%20");
     message = message.replaceAll("!", "%21");
     ...

Danke & Gruß
Jan
 
...hat sich erledigt, weil ich die Textarea nicht in der Länge begrenzen will, eine URL aber in der Länge begrenzt ist und der mailto-Link den gesamten Inhalt (und u. U. sehr viele Adressaten) dann nicht repräsentieren kann.

Jan
 
Zurück