3 回答

TA貢獻1871條經驗 獲得超13個贊
這是一個字符串,由以下部分分隔的電子郵件ID組成:toAddress,
if (toAddress!= null) {
List<String> emails = new ArrayList<>();
if (toAddress.contains(",")) {
emails.addAll(Arrays.asList(toAddress.split(",")));
} else {
emails.add(toAddress);
}
Address[] to = new Address[emails.size()];
int counter = 0;
for(String email : emails) {
to[counter] = new InternetAddress(email.trim());
counter++;
}
message.setRecipients(Message.RecipientType.TO, to);
}

TA貢獻2021條經驗 獲得超8個贊
根據你的描述,我假設參數可以有多個值。因此是錯誤的。email-ids
String recipient = request.getParameter("email-ids");
我將引用ServletRequest.getParamter(String)
上的Javadoc(由我強調):
僅當確定參數只有一個值時,才應使用此方法。如果參數可能有多個值,請使用 。
getParameterValues
所以它應該是相反的。(您也可以嘗試拆分代碼中獲得的單個字符串,但如果您已經獲得了多個值,那么再次連接并拆分它們只會感覺錯誤且有風險。String[] recipients = request.getParameterValues("email-ids");
有了這些單獨的字符串,為已經在使用的數組創建多個元素應該沒有問題。InternetAddress[] toAddresses
添加回答
舉報