/** * The constructor * @param req The request */ public StrutsRequestWrapper(HttpServletRequest req){ super(req); }
/** * Gets the object, looking in the value stack if not found * * @param s The attribute key */ publicObject getAttribute(String s){ if(s !=null&& s.startsWith("javax.servlet")){ // don't bother with the standard javax.servlet attributes, we can short-circuit this // see WW-953 and the forums post linked in that issue for more info returnsuper.getAttribute(s); }
// note: we don't let # come through or else a request for // #attr.foo or #request.foo could cause an endless loop if(!alreadyIn && attribute ==null&& s.indexOf("#")==-1){ try{ // If not found, then try the ValueStack ctx.put("__requestWrapper.getAttribute", Boolean.TRUE); ValueStack stack = ctx.getValueStack(); if(stack !=null){ attribute = stack.findValue(s); } }finally{ ctx.put("__requestWrapper.getAttribute", Boolean.FALSE); } } return attribute; } }