1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.jxpath.servlet;
18
19 import java.util.Enumeration;
20 import java.util.HashSet;
21
22 import javax.servlet.jsp.PageContext;
23
24 import org.apache.commons.jxpath.DynamicPropertyHandler;
25
26
27
28
29
30
31
32
33 public class PageContextHandler implements DynamicPropertyHandler {
34
35 public String[] getPropertyNames(Object pageContext) {
36 HashSet list = new HashSet();
37 Enumeration e =
38 ((PageContext) pageContext).getAttributeNamesInScope(
39 PageContext.PAGE_SCOPE);
40 while (e.hasMoreElements()) {
41 list.add(e.nextElement());
42 }
43 e =
44 ((PageContext) pageContext).getAttributeNamesInScope(
45 PageContext.REQUEST_SCOPE);
46 while (e.hasMoreElements()) {
47 list.add(e.nextElement());
48 }
49 e =
50 ((PageContext) pageContext).getAttributeNamesInScope(
51 PageContext.SESSION_SCOPE);
52 while (e.hasMoreElements()) {
53 list.add(e.nextElement());
54 }
55 e =
56 ((PageContext) pageContext).getAttributeNamesInScope(
57 PageContext.APPLICATION_SCOPE);
58 while (e.hasMoreElements()) {
59 list.add(e.nextElement());
60 }
61 return (String[]) list.toArray(new String[list.size()]);
62 }
63
64
65
66
67
68
69
70 public Object getProperty(Object pageContext, String property) {
71 return ((PageContext) pageContext).findAttribute(property);
72 }
73
74 public void setProperty(Object pageContext, String property, Object value) {
75 ((PageContext) pageContext).setAttribute(
76 property,
77 value,
78 PageContext.PAGE_SCOPE);
79 }
80 }