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

Reply via email to