我有一堆Seam表单页面;每个都有一个命令按钮,可以调用自定义实用程序类中的sendEmail()方法。该方法如下所示:
public String sendEmail(String mailFile) throws SMTPSendFailedException {
status = "Processing email now...";
renderer.render(mailFile);
status = "Email sent successfully.";
renderer = null;
return "/index.xhtml";
}
按钮如下所示:
<a4j:commandButton action="#{utilities.sendEmail('/form2/mail.xhtml')}" />
sendEmail()方法返回要重定向到的表单的index.xhtml页面。索引页面还包含所有表单的列表,并且是用户在第一次使用该应用程序时到达的位置。
我想在用户提交电子邮件时显示成功或失败的消息,或者如果用户通过链接访问该页面,则不显示任何内容。我会使用Seam页面参数告诉index.xhtml它收到了一条消息吗?
非常感谢您的帮助。感谢。
答案 0 :(得分:3)
您可以使用页面参数执行此操作,但最简单的方法是通过接缝FacesMessages添加消息并将其显示在index.xhtml文件中:
@In
private FacesMessages facesMessages;
[...]
facesMessages.add(Severity.INFO, "Mail sent");
<强>的index.xhtml:强>
<h:messages />
您还可以查看Seam navigation以重定向视图并从中添加消息。