我有一个基础瞬态视图的简单联系表单。
<f:view transient="true">
<h:panelGroup id="messages" layout="block" >
<o:messages escape="false" infoClass="info" errorClass="error" globalOnly="true" rendered="#{not empty facesContext.messageList}" />
</h:panelGroup>
<h:form id="contactform">
please enter your name:
<h:inputText id="name" required="true" requiredMessage="#{msg.fieldrequired}">
...
</h:form>
</f:view>
此页面也被缓存(使用omnifaces CacheControlFilter),因为此处的内容不是真正动态的,用户只提交一些请求参数。当表单成功提交时,managedbean会添加一条flash消息并执行刷新:
public void showSuccess() throws IOException {
Messages.addFlashGlobalInfo("submit_success");
Faces.refresh(); //ensure cleaning all input fields in the form
}
之后,页面现在包含带有渲染面消息的div,并且每次用户再次对此页面执行GET时,此消息现在都会出现。
<div id="messages">
<ul>
<li>Thank you for your feedback</li>
</ul>
</div>
有没有办法摆脱这条消息?
提前谢谢。