KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > demo > events > web > CounterFormController


1 /*
2 @COPYRIGHT@
3 */

4 package demo.events.web;
5
6 import java.util.HashMap JavaDoc;
7 import java.util.Map JavaDoc;
8
9 import javax.servlet.http.HttpServletRequest JavaDoc;
10 import javax.servlet.http.HttpServletResponse JavaDoc;
11
12 import org.springframework.context.ApplicationContext;
13 import org.springframework.web.bind.RequestUtils;
14 import org.springframework.web.servlet.ModelAndView;
15 import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
16
17 import demo.events.EventProcessor;
18 import demo.events.MessageEvent;
19
20 /**
21  * Web controller for the Events sample application; provides the list of current messages and publishes new messages as
22  * events to the {@link ApplicationContext}, which is distributed by Terracotta for Spring.
23  *
24  * @author Eugene Kuleshov
25  */

26 public class CounterFormController extends MultiActionController {
27
28   private transient EventProcessor eventProcessor;
29
30   public void setEventProcessor(EventProcessor eventProcessor) {
31     this.eventProcessor = eventProcessor;
32   }
33
34   /**
35    * Controller method to handle refresh action
36    */

37   public ModelAndView handleRefresh(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) throws Exception JavaDoc {
38     Map JavaDoc model = new HashMap JavaDoc();
39     model.put("events", eventProcessor.getEvents());
40     return new ModelAndView("index", model);
41   }
42
43   /**
44    * Controller method to handle message submission action
45    */

46   public ModelAndView handleMessage(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) throws Exception JavaDoc {
47     String JavaDoc message = RequestUtils.getRequiredStringParameter(request, "message");
48     String JavaDoc sender = RequestUtils.getRequiredStringParameter(request, "sender");
49
50     ApplicationContext ctx = getApplicationContext();
51     ctx.publishEvent(new MessageEvent(sender, message));
52
53     return new ModelAndView("redirect:index.jsp", null);
54   }
55
56 }
57
Popular Tags