我在尝试将HTML代码作为字符串参数放在message.setContent()中的行显示错误为"字符串文字没有被双引号"正确关闭。请帮我找出它为什么这样显示。
try {
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(mailSession);
MimeBodyPart htmlPart = new MimeBodyPart();
%>
<%
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
message.setSubject("Thank you for using our service");
message.setContent("<table><tr><td>Full Name</td><td><%= name %></td></tr><tr><td>Address</td><td><%= Addr %></td></tr><tr><td>Age</td><td><%= age %></td></tr><tr><td>Qualification</td><td><%= Qual %></td></tr><tr><td>Percentage</td><td><%= Persent %></td></tr><tr><td>Year of Passout</td><td><%= Year %></td></tr></table>",
"text/html");
Transport.send(message);
result = "Sent message successfully....";
} catch (MessagingException mex) {
mex.printStackTrace();
result = "Error: unable to send message....";
}
答案 0 :(得分:0)
输出语句&lt;%= name%&gt;在jsp上,编译时产生输出:
out.print(name);
现在,如果您在字符串中尝试附加名称变量,则应该使用:
message.setContent("<table><tr><td>Full Name</td><td>"+name+"</td></tr>.....","text/html");
别忘了你必须在这里定义 name 变量,如下所示:
<%String name = request.getParameter("name");%>
或者像这样......
...当然,这不是你应该如何使用JSP。应该强烈避免使用scriptlet。 Check this out