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