1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.struts2.portlet.context;
22
23 import javax.servlet.ServletContext;
24 import javax.servlet.ServletContextEvent;
25 import javax.servlet.ServletContextListener;
26
27 /***
28 * Some of the factory/managers (e.g. the ObjectFactory) need access to
29 * the {@link org.apache.struts2.ServletActionContext} object when initializing.
30 * This {@link javax.servlet.ServletContextListener} keeps a reference to the
31 * {@link javax.servlet.ServletContext} and exposes it through a <code>public static</code>
32 * method.
33 *
34 */
35 public class ServletContextHolderListener implements ServletContextListener {
36
37 private static ServletContext context = null;
38
39 /***
40 * @return The current servlet context
41 */
42 public static ServletContext getServletContext() {
43 return context;
44 }
45
46 /***
47 * Stores the reference to the {@link ServletContext}.
48 *
49 * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
50 */
51 public void contextInitialized(ServletContextEvent event) {
52 context = event.getServletContext();
53
54 }
55
56 /***
57 * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
58 */
59 public void contextDestroyed(ServletContextEvent event) {
60 context = null;
61 }
62
63 }