01: // Copyright (c) 2003-2007, Jodd Team (jodd.sf.net). All Rights Reserved.
02:
03: package jodd.bean.loader;
04:
05: import java.util.Enumeration;
06:
07: import javax.servlet.http.HttpServletRequest;
08:
09: import jodd.bean.BeanUtil;
10:
11: /**
12: * Populates java bean from servlet request parameters and attributes. Parameters
13: * are populated firt by using {@link RequestParamBeanLoader}
14: */
15: public class RequestBeanLoader implements BeanLoader {
16: private boolean trim;
17:
18: public RequestBeanLoader() {
19: }
20:
21: public RequestBeanLoader(boolean trim) {
22: this .trim = trim;
23: }
24:
25: public static void loadBean(Object bean, Object request,
26: boolean trim) {
27: RequestParamBeanLoader.loadBean(bean, request, trim);
28: if (request instanceof HttpServletRequest) {
29: Enumeration attribNames = ((HttpServletRequest) request)
30: .getAttributeNames();
31: while (attribNames.hasMoreElements()) {
32: String attribName = (String) attribNames.nextElement();
33: Object value = ((HttpServletRequest) request)
34: .getAttribute(attribName);
35: if (value == null) {
36: continue;
37: }
38: BeanUtil.setPropertyForcedSilent(bean, attribName,
39: value);
40: }
41: }
42: }
43:
44: public void load(Object bean, Object request) {
45: loadBean(bean, request, trim);
46: }
47:
48: }
|