我正在从 servlet 过滤器向 Facelets 页面返回一条消息。要将消息从 servlet 过滤器传输到 Facelets 页面,我使用了会话变量。显示消息后,我想删除会话变量。如何做到这一点?还有另一种将数据从 servlet 传递到 Facelets 的方法吗?
问问题
2524 次
1 回答
5
在 的后期将其删除RENDER_RESPONSE
。你可以用<f:view afterPhase>
这个。
<f:view afterPhase="#{bean.removeSessionAttributeAfterRender}">
和
public void removeSessionAttributeAfterRender(PhaseEvent event) {
if (event.getPhaseId() == PhaseId.RENDER_RESPONSE) {
FacesContext.getCurrentInstance().getExternalContext()
.getSessionMap().remove("sessionAttributeName");
}
}
于 2012-07-06T12:43:48.600 回答