我正在循環發送電子郵件並重復該循環。目前,成功的消息使用如何在每次迭代後發送成功消息
request.getSession().setAttribute("message", resultMessage);
response.sendRedirect("index.jsp");
我想在JSP頁面中每個成功的迭代後,顯示成功消息發送的所有電子郵件後顯示。
迭代代碼的servlet類:
try {
for(int j=0;j<noOfEmailToSend;j++) {
Iterator<String> sendersInputIterate = list.iterator();
Iterator<String> subject1 = sub.iterator();
while (sendersInputIterate.hasNext() && subject1.hasNext()) {
EmailFunction.sendEmail(ExchangeIP, port, sendersInputIterate.next(), toAddress, subject1.next(), content, uploadedFiles);
resultMessage = "The B-mail has been sent successfully :";
Thread.sleep(sleeptime);
}
Thread.sleep(iterationInterval);
}
} catch (Exception ex) {
ex.printStackTrace();
resultMessage = "There were an error: " + ex.getMessage();
} finally {
request.getSession().setAttribute("message", resultMessage);
response.sendRedirect("index.jsp");
}
請建議如何在每次迭代後顯示此消息。
@coolgirl'finally' will ** always ** be executed([參考](https:// stackov erflow.com/questions/44280902/unsorted-results-when-using-array-sort-with-two-argument))。所以,即使有'Exception'...在那裏顯示'SuccessMessage'也是錯誤的。 –
@FelixD。我想你已經曲解了我所提到的。我知道一個finally只會在system.exit()的特定情況下才會被執行,或者可能是系統或其他東西不能正常工作的地方。上面發佈的代碼只發送一次成功消息,並且在發生故障的情況下發送成功消息。我所建議的是將代碼從finally塊移到循環所在的地方,msg因發送的每封成功郵件而被解僱! –
這將使更多的意義:P - 我想這也是答案,所以你可以張貼作爲一個真正的答案。 –