问题描述
我今天整合ssh项目的时候。弄了个注册页面,处理类是RegisterAction类。在类中没有覆盖validate方法,利用RegisterAction-validation.xml文件进行字段校验。可是测试的时候如果我多次提交错误信息,它就重复显示这些错误信息。一直累加下去。。不会在提交前自动清空(比如覆盖validate方法中的clearErrorsAndMessages()方法。。谁能告诉我这是哪的问题吗?小弟不甚感激!
解决方案
让RegisterAction类实现Preparable interface,然后在prepare()方法里面加上 clearErrorsAndMessages() 清空错误信息。
解决方案二:
你好, 显示信息时应该增加清楚消息的代码如:<div id="content"><%@ include file="/common/messages.jsp"%><decorator:body /><%@ include file="/common/clear_messages.jsp"%></div>其中,common.jsp中如下:<logic:present name="messages"><div align="center"><div class="error" style="margin-right: 0; margin-bottom:3px; margin-top: 3px;"><table border="0" class="error" cellpadding="0" cellspacing="0"><logic:iterate id="messages" name="messages"><tr><td align="left"> <html:img pageKey="icon.information.img" altKey="icon.information" styleClass="icon"/><bean:write name="messages" filter="false" /></td></tr></logic:iterate></table></div></div></logic:present>而clear_messages.jsp如下:<%if (null != session.getAttribute("messages") && !"".equals(session.getAttribute("messages"))) {session.removeAttribute("messages");}%>希望对你有所帮助!