0
我已經在java中編寫了一個代碼,其中有表單(輸入字段),最後是底部的發送電子郵件按鈕。當用戶點擊按鈕時,輸入字段中的數據應該被提取出來,然後在電子郵件中用作身體的數據。Java郵件中的URL編碼
這是我的代碼有:
if (role.getValue().equals("1")) {
Desktop desktop = Desktop.getDesktop();
String message = "mailto:[email protected]?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();
}
}
它所有的工作完美,但唯一的問題是地址:person.getContactStreet()的實際輸入字段要求用戶輸入街道名稱,以及通常它會是兩個詞,例如克倫威爾路 - 在克倫威爾和路之間的空間。現在電子郵件的主體不允許有空格和其他無效字符,因此彈出錯誤消息說輸入了無效字符。我如何讓它接受這個或將無效字符自動轉換爲網址編碼?
我不太清楚該怎麼做,因爲。它在論壇中說過,我可以用+或%20替換空間。但是,如果用戶手動輸入數據到字段中,我不能讓他這樣做。用戶將通常使用空格輸入數據,但這不會被程序接受。它周圍有什麼方法? – Pita 2012-07-12 09:55:02
使用Pita Sivam提供的鏈接的詳細信息,您可以對用戶在服務器端輸入的數據進行編碼,而不必強制用戶以編碼形式輸入數據。 – Logan 2012-07-12 10:12:02
@Logan - 是的,我已經看到了鏈接,但這是一個URL編碼器。有什麼比如字符串編碼器,以便來自用戶的輸入被自動編碼? – Pita 2012-07-12 11:50:21