01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tctest.spring.bean;
05:
06: import org.springframework.beans.BeansException;
07: import org.springframework.beans.factory.BeanFactory;
08: import org.springframework.beans.factory.BeanFactoryAware;
09: import org.springframework.web.servlet.ModelAndView;
10: import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
11:
12: import java.util.HashMap;
13: import java.util.Map;
14:
15: import javax.servlet.http.HttpServletRequest;
16: import javax.servlet.http.HttpServletResponse;
17:
18: public class ScopedBeanController extends MultiActionController
19: implements BeanFactoryAware {
20:
21: private BeanFactory beanFactory;
22:
23: public void setBeanFactory(BeanFactory beanFactory)
24: throws BeansException {
25: this .beanFactory = beanFactory;
26: }
27:
28: public ModelAndView getValue(HttpServletRequest request,
29: HttpServletResponse response) throws Exception {
30: Map model = new HashMap();
31: model.put("scopedValue", getSessionScopedBean().getValue());
32: return new ModelAndView("scopedBeans", model);
33: }
34:
35: public ModelAndView setValue(HttpServletRequest request,
36: HttpServletResponse response) throws Exception {
37: String value = request.getParameter("value");
38: if (value != null) {
39: getSessionScopedBean().setValue(value);
40: }
41: Map model = new HashMap();
42: model.put("scopedValue", getSessionScopedBean().getValue());
43: return new ModelAndView("scopedBeans", model);
44: }
45:
46: private ScopedBean getSessionScopedBean() {
47: return (ScopedBean) beanFactory.getBean("sessionScopedBean");
48: }
49:
50: }
|