KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > appfuse > webapp > filter > MessageFilter


1 package org.appfuse.webapp.filter;
2
3 import java.io.IOException JavaDoc;
4
5 import javax.servlet.Filter JavaDoc;
6 import javax.servlet.FilterChain JavaDoc;
7 import javax.servlet.FilterConfig JavaDoc;
8 import javax.servlet.ServletException JavaDoc;
9 import javax.servlet.ServletRequest JavaDoc;
10 import javax.servlet.ServletResponse JavaDoc;
11 import javax.servlet.http.HttpServletRequest JavaDoc;
12
13 /**
14  * Filter to remove messages form the session and put them in the request
15  * - to solve the redirect after post issue.
16  *
17  * <p><a HREF="MessageFilter.java.htm"><i>View Source</i></a></p>
18  *
19  * @author Matt Raible
20  */

21 public class MessageFilter implements Filter JavaDoc {
22     public void doFilter(ServletRequest JavaDoc req, ServletResponse JavaDoc res,
23                          FilterChain JavaDoc chain)
24     throws IOException JavaDoc, ServletException JavaDoc {
25         HttpServletRequest JavaDoc request = (HttpServletRequest JavaDoc) req;
26
27         // grab messages from the session and put them into request
28
// this is so they're not lost in a redirect
29
Object JavaDoc messages = request.getSession().getAttribute("messages");
30
31         if (messages != null) {
32             request.setAttribute("messages", messages);
33             request.getSession().removeAttribute("messages");
34         }
35         
36         // grab errors from the session and put them into request
37
// this is so they're not lost in a redirect
38
Object JavaDoc errors = request.getSession().getAttribute("errors");
39
40         if (errors != null) {
41             request.setAttribute("errors", errors);
42             request.getSession().removeAttribute("errors");
43         }
44
45         chain.doFilter(req, res);
46     }
47
48     public void init(FilterConfig JavaDoc filterConfig) {
49     }
50
51     public void destroy() {
52     }
53 }
54
Popular Tags