1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.struts2.s1;
23
24 import java.io.Serializable;
25 import org.apache.commons.beanutils.DynaBean;
26 import org.apache.commons.beanutils.DynaClass;
27 import ognl.OgnlException;
28 import ognl.PropertyAccessor;
29 import java.util.Map;
30
31 /***
32 * Provides access to DynaBean properties in OGNL
33 */
34 public class DynaBeanPropertyAccessor implements PropertyAccessor {
35
36 public Object getProperty(Map context, Object target, Object name) throws OgnlException {
37
38 if (target instanceof DynaBean && name != null) {
39 DynaBean bean = (DynaBean)target;
40 DynaClass cls = bean.getDynaClass();
41 String key = name.toString();
42 if (cls.getDynaProperty(key) != null) {
43 return bean.get(key);
44 }
45 }
46 return null;
47 }
48
49 public void setProperty(Map context, Object target, Object name, Object value) throws OgnlException {
50
51 if (target instanceof DynaBean && name != null) {
52 DynaBean bean = (DynaBean)target;
53 String key = name.toString();
54 bean.set(key, value);
55 }
56 }
57
58 }