フォーム(入力フィールド)があり、最後に下部にメール送信ボタンがあるJavaでコードを書きました。ユーザーがボタンをクリックすると、入力フィールドからのデータが抽出され、電子メールの本文のデータとして使用されます。
これは私が持っているコードです:
if (role.getValue().equals("1")) {
Desktop desktop = Desktop.getDesktop();
String message = "mailto:username@domain.com?subject=Profildaten&body=" +
"Externe%20Referenz:%20" +
person.getExternalReference() + "%20" + "-%20" +
person.getExternalReferenceType() + "%0A" +
person.getTitle() + "%20" +
person.getContactLandline() + "%0A" +
"Mobil:%20" + person.getContactMobile() + "%0A" +
"Addresse:" + person.getContactStreet();
URI uri = URI.create(message);
try {
desktop.mail(uri);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
それはすべて完全に機能しますが、唯一の問題は Address: person.getContactStreet() です。実際の入力フィールドでは、ユーザーは通りの名前を入力する必要があり、通常は Cromwell Road などの 2 つの単語で、cromwell と road の間にスペースがあります。 . 現在、電子メールの本文にはスペースやその他の無効な文字を含めることができないため、無効な文字が入力されたことを示すエラー メッセージが表示されます。これを受け入れるようにするか、無効な文字を自動的に URL エンコーディングに変換するにはどうすればよいですか?