KickJava   Java API By Example, From Geeks To Geeks.

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


1 package org.appfuse.webapp.action;
2
3 import java.io.PrintWriter JavaDoc;
4
5 import javax.servlet.http.HttpServletRequest JavaDoc;
6 import javax.servlet.http.HttpServletResponse JavaDoc;
7
8 import org.apache.struts.action.ActionForm;
9 import org.apache.struts.action.ActionForward;
10 import org.apache.struts.action.ActionMapping;
11 import org.apache.struts.action.ActionMessage;
12 import org.apache.struts.action.ActionMessages;
13 import org.appfuse.webapp.listener.StartupListener;
14
15
16 /**
17  * This class is used to reload the drop-downs initialized in the
18  * StartupListener.
19  *
20  * <p>
21  * <a HREF="ReloadAction.java.htm"><i>View Source</i></a>
22  * </p>
23  *
24  * @author <a HREF="mailto:matt@raibledesigns.com">Matt Raible</a>
25  *
26  * @struts.action path="/reload" validate="false" roles="admin"
27  */

28 public final class ReloadAction extends BaseAction {
29
30     public ActionForward execute(ActionMapping mapping, ActionForm form,
31                                  HttpServletRequest JavaDoc request,
32                                  HttpServletResponse JavaDoc response)
33     throws Exception JavaDoc {
34         if (log.isDebugEnabled()) {
35             log.debug("Entering 'execute' method");
36         }
37
38         StartupListener.setupContext(getServlet().getServletContext());
39
40         String JavaDoc referer = request.getHeader("Referer");
41
42         if (referer != null) {
43             log.debug("reload complete, reloading user back to: " + referer);
44             
45             ActionMessages messages = new ActionMessages();
46             messages.add(ActionMessages.GLOBAL_MESSAGE,
47                          new ActionMessage("reload.succeeded"));
48             saveMessages(request.getSession(), messages);
49             
50             response.sendRedirect(response.encodeRedirectURL(referer));
51             return null;
52         } else {
53             response.setContentType("text/html");
54
55             PrintWriter JavaDoc out = response.getWriter();
56
57             out.println("<html>");
58             out.println("<head>");
59             out.println("<title>Context Reloaded</title>");
60             out.println("</head>");
61             out.println("<body bgcolor=\"white\">");
62             out.println("<script type=\"text/javascript\">");
63             out.println("alert('Context Reload Succeeded! Click OK to continue.');");
64             out.println("history.back();");
65             out.println("</script>");
66             out.println("</body>");
67             out.println("</html>");
68         }
69
70         return null;
71     }
72 }
73
Popular Tags