关于Struts中的saveErrors方法的一点小经验

来源:互联网 发布:网络剧点击量排行榜 编辑:程序博客网 时间:2024/05/22 04:29

问题是这样的:在Action存在错误的时候,需要Redirect到一个页面,并且使用</html:errors>显示错误。


这个需要使用saveErrors方法,Struts定义了两个saveErrors方法,如下:


protected  void saveErrors(HttpServletRequest request, ActionMessages errors);

protected  void saveErrors(HttpSession session, ActionMessages errors);


毫无疑问要保存在session中,但是我担心error会一直留在session中,导致凡是</html:errors>处会一直显示错误信息。


但是我却发现不是这么回事,为什么呢?这就需要去看</html:errors>这个Tag的源码,我特地去看了一下。


原来获取ActionMessages是在pageContext中获取的,而不是直接在request或者session里获取的,因为就不会出现一直显示的问题了。