Revision: 845
http://stripes.svn.sourceforge.net/stripes/?rev=845&view=rev
Author: bengunter
Date: 2008-02-06 19:39:13 -0800 (Wed, 06 Feb 2008)
Log Message:
-----------
Fixed STS-457. Default event name is no longer added to a form URL.
Modified Paths:
--------------
trunk/stripes/src/net/sourceforge/stripes/tag/FormTag.java
trunk/stripes/src/net/sourceforge/stripes/util/UrlBuilder.java
Modified: trunk/stripes/src/net/sourceforge/stripes/tag/FormTag.java
===================================================================
--- trunk/stripes/src/net/sourceforge/stripes/tag/FormTag.java 2008-02-07
01:50:50 UTC (rev 844)
+++ trunk/stripes/src/net/sourceforge/stripes/tag/FormTag.java 2008-02-07
03:39:13 UTC (rev 845)
@@ -177,7 +177,8 @@
+ "action bean should handle the form submission.");
}
getTagStack().push(this);
- urlBuilder = new UrlBuilder(pageContext.getRequest().getLocale(),
getAction(), false);
+ urlBuilder = new UrlBuilder(pageContext.getRequest().getLocale(),
getAction(), false)
+ .setEvent(null);
return EVAL_BODY_BUFFERED;
}
Modified: trunk/stripes/src/net/sourceforge/stripes/util/UrlBuilder.java
===================================================================
--- trunk/stripes/src/net/sourceforge/stripes/util/UrlBuilder.java
2008-02-07 01:50:50 UTC (rev 844)
+++ trunk/stripes/src/net/sourceforge/stripes/util/UrlBuilder.java
2008-02-07 03:39:13 UTC (rev 845)
@@ -25,6 +25,7 @@
import java.util.Map;
import net.sourceforge.stripes.action.ActionBean;
+import net.sourceforge.stripes.action.DefaultHandler;
import net.sourceforge.stripes.config.Configuration;
import net.sourceforge.stripes.controller.StripesFilter;
import net.sourceforge.stripes.controller.UrlBinding;
@@ -63,6 +64,10 @@
this.value = value;
}
+ public boolean isEvent() {
+ return UrlBindingParameter.PARAMETER_NAME_EVENT.equals(name);
+ }
+
@Override
public String toString() {
return "" + this.name + "=" + this.value;
@@ -168,7 +173,10 @@
}
/**
- * Set the name of the event to be executed by this URL.
+ * Set the name of the event to be executed by this URL. A default event
name can be defined for
+ * an [EMAIL PROTECTED] ActionBean} using either [EMAIL PROTECTED]
DefaultHandler} or by assigning a default value to
+ * the $event parameter in a clean URL. If [EMAIL PROTECTED] event} is
null then the default event name
+ * will be ignored and no event parameter will be added to the URL.
*
* @param event the event name
*/
@@ -473,7 +481,7 @@
UrlBindingParameter parameter = (UrlBindingParameter)
component;
Parameter assigned = map.get(parameter.getName());
Object value;
- if (assigned != null && assigned.value != null)
+ if (assigned != null && (assigned.value != null ||
assigned.isEvent()))
value = assigned.value;
else
value = parameter.getDefaultValue();
@@ -496,6 +504,10 @@
ok = true;
}
}
+ else if (assigned.isEvent()) {
+ // remove event parameter even if value is null
+ parameters.remove(assigned);
+ }
nextLiteral = null;
if (!ok)
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development