You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@click.apache.org by me...@apache.org on 2011/11/04 12:02:41 UTC

svn commit: r1197501 - /click/trunk/click/extras/src/org/apache/click/extras/control/PageSubmit.java

Author: medgar
Date: Fri Nov  4 11:02:41 2011
New Revision: 1197501

URL: http://svn.apache.org/viewvc?rev=1197501&view=rev
Log:
CLK-779

Modified:
    click/trunk/click/extras/src/org/apache/click/extras/control/PageSubmit.java

Modified: click/trunk/click/extras/src/org/apache/click/extras/control/PageSubmit.java
URL: http://svn.apache.org/viewvc/click/trunk/click/extras/src/org/apache/click/extras/control/PageSubmit.java?rev=1197501&r1=1197500&r2=1197501&view=diff
==============================================================================
--- click/trunk/click/extras/src/org/apache/click/extras/control/PageSubmit.java (original)
+++ click/trunk/click/extras/src/org/apache/click/extras/control/PageSubmit.java Fri Nov  4 11:02:41 2011
@@ -18,6 +18,8 @@
  */
 package org.apache.click.extras.control;
 
+import java.util.Map;
+
 import org.apache.click.Page;
 import org.apache.click.control.Submit;
 import org.apache.click.util.ClickUtils;
@@ -58,6 +60,9 @@ public class PageSubmit extends Submit {
     /** The target page to redirect to. */
     protected Class<? extends Page> pageClass;
 
+    /** The map of URL request parameters. */
+    protected Map<String, ?> params;
+
     // ----------------------------------------------------------- Constructors
 
     /**
@@ -97,6 +102,21 @@ public class PageSubmit extends Submit {
     }
 
     /**
+     * Create a PageSubmit button with the given name, target pageClass and request parameters.
+     *
+     * @param name the button name
+     * @param pageClass the target page class
+     * @param params the URL redirect parameters
+     */
+    public PageSubmit(String name, Class<? extends Page> pageClass, Map<String, ?> params) {
+        super(name);
+
+        setPageClass(pageClass);
+        setListener(this, "onClick");
+        this.params = params;
+    }
+
+    /**
      * Create a PageSubmit button with the given name, label and target
      * pageClass.
      *
@@ -112,6 +132,23 @@ public class PageSubmit extends Submit {
     }
 
     /**
+     * Create a PageSubmit button with the given name, label, target and request parameters.
+     * pageClass.
+     *
+     * @param name the button name
+     * @param label the button display label
+     * @param pageClass the target page class
+     * @param params the URL redirect request parameters
+     */
+    public PageSubmit(String name, String label, Class<? extends Page> pageClass, Map<String, ?> params) {
+        super(name, label);
+
+        setPageClass(pageClass);
+        setListener(this, "onClick");
+        this.params = params;
+    }
+
+    /**
      * Create an PageSubmit button with no name or target page class
      * defined.
      * <p/>
@@ -162,7 +199,11 @@ public class PageSubmit extends Submit {
         if (pageClass == null) {
             throw  new RuntimeException("target pageClass is not defined");
         }
-        page.setRedirect(pageClass);
+        if (params != null) {
+            page.setRedirect(pageClass, params);
+        } else {
+            page.setRedirect(pageClass);
+        }
         return false;
     }