1 16 package org.apache.commons.jxpath.servlet; 17 18 import java.util.Enumeration ; 19 import java.util.HashSet ; 20 21 import javax.servlet.ServletRequest ; 22 23 30 public class ServletRequestHandler extends HttpSessionHandler { 31 32 protected void collectPropertyNames(HashSet set, Object bean) { 33 super.collectPropertyNames(set, bean); 34 ServletRequestAndContext handle = (ServletRequestAndContext) bean; 35 ServletRequest servletRequest = handle.getServletRequest(); 36 Enumeration e = servletRequest.getAttributeNames(); 37 while (e.hasMoreElements()) { 38 set.add(e.nextElement()); 39 } 40 e = servletRequest.getParameterNames(); 41 while (e.hasMoreElements()) { 42 set.add(e.nextElement()); 43 } 44 } 45 46 public Object getProperty(Object bean, String property) { 47 ServletRequestAndContext handle = (ServletRequestAndContext) bean; 48 ServletRequest servletRequest = handle.getServletRequest(); 49 String [] strings = servletRequest.getParameterValues(property); 50 if (strings != null) { 51 if (strings.length == 0) { 52 return null; 53 } 54 if (strings.length == 1) { 55 return strings[0]; 56 } 57 return strings; 58 } 59 60 Object object = servletRequest.getAttribute(property); 61 if (object != null) { 62 return object; 63 } 64 65 return super.getProperty(bean, property); 66 } 67 68 public void setProperty(Object request, String property, Object value) { 69 ((ServletRequest ) request).setAttribute(property, value); 70 } 71 } 72 | Popular Tags |