KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > appfuse > webapp > action > ReloadController


1 package org.appfuse.webapp.action;
2
3 import java.io.PrintWriter JavaDoc;
4 import java.util.ArrayList JavaDoc;
5 import java.util.List JavaDoc;
6
7 import javax.servlet.http.HttpServletRequest JavaDoc;
8 import javax.servlet.http.HttpServletResponse JavaDoc;
9
10 import org.apache.commons.logging.Log;
11 import org.apache.commons.logging.LogFactory;
12 import org.appfuse.webapp.listener.StartupListener;
13 import org.springframework.web.servlet.ModelAndView;
14 import org.springframework.web.servlet.mvc.Controller;
15
16
17 /**
18  * This class is used to reload the drop-downs initialized in the
19  * StartupListener.
20  *
21  * <p>
22  * <a HREF="ReloadController.java.htm"><i>View Source</i></a>
23  * </p>
24  *
25  * @author <a HREF="mailto:matt@raibledesigns.com">Matt Raible</a>
26  */

27 public class ReloadController implements Controller {
28     private transient final Log log = LogFactory.getLog(UserController.class);
29
30     public ModelAndView handleRequest(HttpServletRequest JavaDoc request,
31                                       HttpServletResponse JavaDoc response)
32     throws Exception JavaDoc {
33         if (log.isDebugEnabled()) {
34             log.debug("Entering 'execute' method");
35         }
36
37         StartupListener.setupContext(request.getSession().getServletContext());
38
39         String JavaDoc referer = request.getHeader("Referer");
40
41         if (referer != null) {
42             log.info("reload complete, reloading user back to: " + referer);
43             List JavaDoc messages = new ArrayList JavaDoc();
44             messages.add("Reloading options completed successfully.");
45             request.getSession().setAttribute("messages", messages);
46             response.sendRedirect(response.encodeRedirectURL(referer));
47             return null;
48         } else {
49             response.setContentType("text/html");
50
51             PrintWriter JavaDoc out = response.getWriter();
52
53             out.println("<html>");
54             out.println("<head>");
55             out.println("<title>Context Reloaded</title>");
56             out.println("</head>");
57             out.println("<body bgcolor=\"white\">");
58             out.println("<script type=\"text/javascript\">");
59             out.println("alert('Context Reload Succeeded! Click OK to continue.');");
60             out.println("history.back();");
61             out.println("</script>");
62             out.println("</body>");
63             out.println("</html>");
64         }
65
66         return null;
67     }
68     
69 }
70
Popular Tags