【发布时间】:2011-09-21 16:15:40
【问题描述】:
我有一个 JSF 页面(使用 MyFaces 2.0),它在第一次显示时会收集一些数据。如果它找不到某些信息,它应该提供一条消息以达到该效果并重定向回不同的页面。我尝试使用此处找到的解决方案 Preserving FacesMessage after redirect for presentation through <h:message> in JSF (setKeepMessages(true)) 但重定向后消息未显示。我能挑出的唯一区别是我没有使用导航规则,我在外部上下文中调用了 redirect() 调用,因为这不是在正常操作中发生的。
相关代码:
public void redirectToPageWithMessage(String inPage, String message, FacesMessage.Severity severity){
getFlash().setKeepMessages(true);
addMessage(message, severity);
try {
getFacesContext().getExternalContext().redirect(inPage);
} catch (IOException e) {
e.printStackTrace();
}
}
不幸的是,这似乎不起作用。重定向发生得很好,但是 标签没有显示消息。 redirect() 发生的方式有什么不同会阻止它工作吗?
【问题讨论】: