KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jodd > bean > loader > RequestBeanLoader


1 // Copyright (c) 2003-2007, Jodd Team (jodd.sf.net). All Rights Reserved.
2

3 package jodd.bean.loader;
4
5 import java.util.Enumeration JavaDoc;
6
7 import javax.servlet.http.HttpServletRequest JavaDoc;
8
9 import jodd.bean.BeanUtil;
10 import jodd.bean.BeanException;
11
12 /**
13  * Populates java bean from servlet request parameters and attributes. Parameters
14  * are populated firt by using {@link RequestParamBeanLoader}
15  */

16 public class RequestBeanLoader implements BeanLoader {
17     private boolean trim;
18
19     public RequestBeanLoader() {
20     }
21
22     public RequestBeanLoader(boolean trim) {
23         this.trim = trim;
24     }
25
26     public static void loadBean(Object JavaDoc bean, Object JavaDoc request, boolean trim) {
27         RequestParamBeanLoader.loadBean(bean, request, trim);
28         if (request instanceof HttpServletRequest JavaDoc) {
29             Enumeration JavaDoc attribNames = ((HttpServletRequest JavaDoc)request).getAttributeNames();
30             while (attribNames.hasMoreElements()) {
31                 String JavaDoc attribName = (String JavaDoc) attribNames.nextElement();
32                 Object JavaDoc value = ((HttpServletRequest JavaDoc)request).getAttribute(attribName);
33                 if (value == null) {
34                     continue;
35                 }
36                 try {
37                     BeanUtil.setPropertyForcedSilent(bean, attribName, value);
38                 } catch (BeanException bex) {
39                     // ignore exception
40
}
41             }
42         }
43     }
44
45     public void load(Object JavaDoc bean, Object JavaDoc request) {
46         loadBean(bean, request, trim);
47     }
48
49 }
50
Popular Tags