1 4 package demo.events.web; 5 6 import java.util.HashMap ; 7 import java.util.Map ; 8 9 import javax.servlet.http.HttpServletRequest ; 10 import javax.servlet.http.HttpServletResponse ; 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 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 37 public ModelAndView handleRefresh(HttpServletRequest request, HttpServletResponse response) throws Exception { 38 Map model = new HashMap (); 39 model.put("events", eventProcessor.getEvents()); 40 return new ModelAndView("index", model); 41 } 42 43 46 public ModelAndView handleMessage(HttpServletRequest request, HttpServletResponse response) throws Exception { 47 String message = RequestUtils.getRequiredStringParameter(request, "message"); 48 String 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 |