You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mr...@apache.org on 2007/07/16 07:11:48 UTC
svn commit: r556503 -
/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/StrutsRequestWrapper.java
Author: mrdon
Date: Sun Jul 15 22:11:44 2007
New Revision: 556503
URL: http://svn.apache.org/viewvc?view=rev&rev=556503
Log:
Streamline code to not execute code when an attribute is not null
WW-1959
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/StrutsRequestWrapper.java
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/StrutsRequestWrapper.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/StrutsRequestWrapper.java?view=diff&rev=556503&r1=556502&r2=556503
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/StrutsRequestWrapper.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/StrutsRequestWrapper.java Sun Jul 15 22:11:44 2007
@@ -63,24 +63,26 @@
ActionContext ctx = ActionContext.getContext();
Object attribute = super.getAttribute(s);
- boolean alreadyIn = false;
- Boolean b = (Boolean) ctx.get("__requestWrapper.getAttribute");
- if (b != null) {
- alreadyIn = b.booleanValue();
- }
+ if (attribute == null) {
+ boolean alreadyIn = false;
+ Boolean b = (Boolean) ctx.get("__requestWrapper.getAttribute");
+ if (b != null) {
+ alreadyIn = b.booleanValue();
+ }
- // 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);
+ // note: we don't let # come through or else a request for
+ // #attr.foo or #request.foo could cause an endless loop
+ if (!alreadyIn && 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);
}
- } finally {
- ctx.put("__requestWrapper.getAttribute", Boolean.FALSE);
}
}
return attribute;