You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2020/08/06 20:18:11 UTC

[wicket] branch WICKET-6807_js_submitter_always_via_hidden_field created (now 0c75de9)

This is an automated email from the ASF dual-hosted git repository.

svenmeier pushed a change to branch WICKET-6807_js_submitter_always_via_hidden_field
in repository https://gitbox.apache.org/repos/asf/wicket.git.


      at 0c75de9  WICKET-6807 hidden-fields is always rendered now

This branch includes the following new commits:

     new b6dfed1  WICKET-6807 find submitter according to form's method only
     new 0c75de9  WICKET-6807 hidden-fields is always rendered now

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[wicket] 01/02: WICKET-6807 find submitter according to form's method only

Posted by sv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

svenmeier pushed a commit to branch WICKET-6807_js_submitter_always_via_hidden_field
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit b6dfed19bb1a6cdad65b528ce707fd8eb62e4b6a
Author: Sven Meier <sv...@apache.org>
AuthorDate: Thu Aug 6 21:29:53 2020 +0200

    WICKET-6807 find submitter according to form's method only
---
 .../org/apache/wicket/markup/html/form/Form.java   | 92 ++++++++++++++++------
 .../wicket/markup/html/form/FormComponent.java     | 32 +-------
 .../wicket/stateless/StatelessFormUrlTest.java     | 14 +++-
 3 files changed, 78 insertions(+), 60 deletions(-)

diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
index 35be666..3116c1c 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
@@ -50,8 +50,10 @@ import org.apache.wicket.model.Model;
 import org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest;
 import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
 import org.apache.wicket.request.IRequestParameters;
+import org.apache.wicket.request.Request;
 import org.apache.wicket.request.Response;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.request.parameter.EmptyRequestParameters;
 import org.apache.wicket.util.encoding.UrlDecoder;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.lang.Bytes;
@@ -447,6 +449,8 @@ public class Form<T> extends WebMarkupContainer
 	 */
 	public final IFormSubmittingComponent findSubmitter()
 	{
+		final IRequestParameters parameters = getRequestParameters(this);
+
 		IFormSubmittingComponent submittingComponent = getPage().visitChildren(
 			IFormSubmittingComponent.class, new IVisitor<Component, IFormSubmittingComponent>()
 			{
@@ -462,7 +466,6 @@ public class Form<T> extends WebMarkupContainer
 					if ((form != null) && (form.getRootForm() == Form.this))
 					{
 						String name = submittingComponent.getInputName();
-						IRequestParameters parameters = getRequest().getRequestParameters();
 						if ((!parameters.getParameterValue(name).isNull()) ||
 							!parameters.getParameterValue(name + ".x").isNull())
 						{
@@ -581,20 +584,11 @@ public class Form<T> extends WebMarkupContainer
 
 		AppendingStringBuffer buffer = new AppendingStringBuffer();
 		buffer.append(String.format("var f = document.getElementById('%s');", root.getMarkupId()));
-		if (root.encodeUrlInHiddenFields())
-		{
-			buffer.append(String.format("document.getElementById('%s').innerHTML += '",
-				root.getHiddenFieldsId(HIDDEN_FIELDS_PARAMS_IDX)));
-			
-			writeParamsAsHiddenFields(new String[] {param}, buffer);
-			
-			buffer.append("';");
-		}
-		else
-		{
-			String action = root.getActionUrl().toString();
-			buffer.append("f.action += '" + (action.indexOf('?') > -1 ? '&' : '?') + param + "';");
-		}
+		buffer.append(String.format("document.getElementById('%s').innerHTML += '",
+			root.getHiddenFieldsId(HIDDEN_FIELDS_PARAMS_IDX)));
+		writeParamsAsHiddenFields(new String[] {param}, buffer);
+		buffer.append("';");
+
 		if (triggerEvent)
 		{
 			buffer.append("Wicket.Event.fire(f, 'submit');");
@@ -1717,9 +1711,15 @@ public class Form<T> extends WebMarkupContainer
 	}
 
 	/**
-	 * Should URL query parameters be encoded in hidden fields.
+	 * Should URL query parameters be encoded in hidden fields, by default <code>true</code>
+	 * for {@link #METHOD_GET} only.
+	 * <p>
+	 * In that case, the parameters must <em>not</em> be written as query parameters, as the browser
+	 * would strip them from the action url before appending the form values.
 	 *
 	 * @return true if form's method is 'get'
+	 * 
+	 * @see #getMethod()
 	 */
 	protected boolean encodeUrlInHiddenFields()
 	{
@@ -1764,14 +1764,12 @@ public class Form<T> extends WebMarkupContainer
 	 */
 	public final void writeHiddenFields()
 	{
-		// if it's a get, did put the parameters in the action attribute,
-		// and have to write the url parameters as hidden fields
+		getResponse().write(String.format("<div id=\"%s\" hidden=\"\" class=\"%s\">",
+			getHiddenFieldsId(HIDDEN_FIELDS_PARAMS_IDX),
+			getString(HIDDEN_FIELDS_CSS_CLASS_KEY)));
+		// if the parameters are not in the action attribute, they have to be written as hidden fields
 		if (encodeUrlInHiddenFields())
 		{
-			getResponse().write(String.format("<div id=\"%s\" hidden=\"\" class=\"%s\">",
-				getHiddenFieldsId(HIDDEN_FIELDS_PARAMS_IDX),
-				getString(HIDDEN_FIELDS_CSS_CLASS_KEY)));
-
 			AppendingStringBuffer buffer = new AppendingStringBuffer();				
 
 			String url = getActionUrl().toString();
@@ -1782,10 +1780,9 @@ public class Form<T> extends WebMarkupContainer
 			writeParamsAsHiddenFields(params, buffer);
 
 			getResponse().write(buffer);
-			
-			getResponse().write("</div>");
 		}
-
+		getResponse().write("</div>");
+		
 		// if a default submitting component was set, handle the rendering of that
 		if (hasDefaultSubmittingComponent())
 		{
@@ -2186,6 +2183,51 @@ public class Form<T> extends WebMarkupContainer
 	}
 
 	/**
+	 * Get the request parameters for a form submit,
+	 * according to the request's method or the form's method as fallback.
+	 *  
+	 * @param component any component inside the form or the form itself
+	 * @return parameters
+	 */
+	static IRequestParameters getRequestParameters(Component component) {
+		String method = Form.METHOD_POST;
+		final Request request = component.getRequest();
+		if (request.getContainerRequest() instanceof HttpServletRequest)
+		{
+			method = ((HttpServletRequest)request.getContainerRequest()).getMethod();
+		}
+		else
+		{
+			final Form<?> form;
+			if (component instanceof Form) {
+				form = (Form<?>)component;
+			} else {
+				form = component.findParent(Form.class);
+			}
+			
+			if (form != null)
+			{
+				method = form.getMethod();
+			}
+		}
+
+		final IRequestParameters parameters;
+		switch (method.toLowerCase(Locale.ROOT))
+		{
+			case Form.METHOD_POST:
+				parameters = request.getPostParameters();
+				break;
+			case Form.METHOD_GET:
+				parameters = request.getQueryParameters();
+				break;
+			default:
+				parameters = EmptyRequestParameters.INSTANCE;
+		}
+
+		return parameters;
+	}
+
+	/**
 	 * Response when a submission method mismatch is detected
 	 * 
 	 * @see Form#getMethod()
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
index 9c283d7..6ba10e9 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
@@ -31,8 +31,6 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 
-import javax.servlet.http.HttpServletRequest;
-
 import org.apache.wicket.Application;
 import org.apache.wicket.Component;
 import org.apache.wicket.IConverterLocator;
@@ -49,8 +47,6 @@ import org.apache.wicket.model.IObjectClassAwareModel;
 import org.apache.wicket.model.IPropertyReflectionAwareModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.request.IRequestParameters;
-import org.apache.wicket.request.Request;
-import org.apache.wicket.request.parameter.EmptyRequestParameters;
 import org.apache.wicket.util.convert.ConversionException;
 import org.apache.wicket.util.convert.IConverter;
 import org.apache.wicket.util.lang.Args;
@@ -798,33 +794,7 @@ public abstract class FormComponent<T> extends LabeledWebMarkupContainer impleme
 	 */
 	protected List<StringValue> getParameterValues(String inputName)
 	{
-		String method = Form.METHOD_POST;
-		final Request request = getRequest();
-		if (getRequest().getContainerRequest() instanceof HttpServletRequest)
-		{
-			method = ((HttpServletRequest)getRequest().getContainerRequest()).getMethod();
-		}
-		else
-		{
-			final Form<?> form = findParent(Form.class);
-			if (form != null)
-			{
-				method = form.getMethod();
-			}
-		}
-
-		final IRequestParameters parameters;
-		switch (method.toLowerCase(Locale.ROOT))
-		{
-			case Form.METHOD_POST:
-				parameters = request.getPostParameters();
-				break;
-			case Form.METHOD_GET:
-				parameters = request.getQueryParameters();
-				break;
-			default:
-				parameters = EmptyRequestParameters.INSTANCE;
-		}
+		final IRequestParameters parameters = Form.getRequestParameters(this);
 
 		return parameters.getParameterValues(inputName);
 	}
diff --git a/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormUrlTest.java b/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormUrlTest.java
index ef30976..73d79e3 100644
--- a/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormUrlTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormUrlTest.java
@@ -17,7 +17,7 @@
 package org.apache.wicket.stateless;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.Page;
@@ -58,7 +58,10 @@ class StatelessFormUrlTest extends WicketTestCase
 	@Test
 	void submitLinkInputNameNotEncodedIntoFormAction()
 	{
-		tester.executeUrl("?0-1.IFormSubmitListener-form&text=newValue&submitLink=x");
+		tester.getRequest().getPostParameters().setParameterValue("text", "newValue");
+		tester.getRequest().getPostParameters().setParameterValue("submitLink", "x");
+		tester.executeUrl("?0-1.-form");
+		assertEquals("newValue", tester.getTagById("text3").getAttribute("value"));
 		assertEquals("./?-1.-form", tester.getTagById("form1").getAttribute("action"));
 	}
 
@@ -68,8 +71,10 @@ class StatelessFormUrlTest extends WicketTestCase
 	@Test
 	void formComponentNameNotEncodedIntoFormAction()
 	{
-		tester.executeUrl("?0-1.IFormSubmitListener-form&text=newValue");
-		assertFalse(tester.getLastResponseAsString().contains("text=newValue"));
+		tester.getRequest().getPostParameters().setParameterValue("text", "newValue");
+		tester.executeUrl("?0-1.-form");
+		assertEquals("newValue", tester.getTagById("text3").getAttribute("value"));
+		assertEquals("./?-1.-form", tester.getTagById("form1").getAttribute("action"));
 	}
 
 	/** */
@@ -87,6 +92,7 @@ class StatelessFormUrlTest extends WicketTestCase
 			StatelessForm<Void> form = new StatelessForm<>("form");
 			add(form);
 			TextField<String> textField = new TextField<>("text", Model.of("textValue"));
+			textField.setOutputMarkupId(true);
 			form.add(textField);
 			SubmitLink submitLink = new SubmitLink("submitLink");
 			form.add(submitLink);


[wicket] 02/02: WICKET-6807 hidden-fields is always rendered now

Posted by sv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

svenmeier pushed a commit to branch WICKET-6807_js_submitter_always_via_hidden_field
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit 0c75de96060bf1040267a10559004e0a656a01a4
Author: Sven Meier <sv...@apache.org>
AuthorDate: Thu Aug 6 22:02:52 2020 +0200

    WICKET-6807 hidden-fields is always rendered now
---
 .../org/apache/wicket/ajax/form/AjaxFormSubmitTestPage_expected.html    | 2 +-
 .../apache/wicket/ajax/form/OnChangeAjaxBehaviorTestPage_expected.html  | 2 +-
 .../wicket/markup/html/form/CheckGroupDisabledTestPage_expected.html    | 2 +-
 .../apache/wicket/markup/html/form/CheckGroupTestPage1_expected.html    | 2 +-
 .../apache/wicket/markup/html/form/CheckGroupTestPage2_expected.html    | 2 +-
 .../apache/wicket/markup/html/form/CheckGroupTestPage3_expected.html    | 2 +-
 .../apache/wicket/markup/html/form/CheckGroupTestPage4_expected.html    | 2 +-
 .../markup/html/form/DropDownChoiceTestPage_A_false_expected.html       | 2 +-
 .../wicket/markup/html/form/DropDownChoiceTestPage_A_true_expected.html | 2 +-
 .../markup/html/form/DropDownChoiceTestPage_null_false_expected.html    | 2 +-
 .../markup/html/form/DropDownChoiceTestPage_null_true_expected.html     | 2 +-
 .../wicket/markup/html/form/FormDefaultButtonTestPage_expected.html     | 2 +-
 .../org/apache/wicket/markup/html/form/FormMethodTestPage_expected.html | 2 +-
 .../org/apache/wicket/markup/html/form/NestedFormsTest_expected.html    | 2 +-
 .../wicket/markup/html/form/NestedFormsTest_placeholder_expected.html   | 2 +-
 .../wicket/markup/html/form/RadioGroupDisabledTestPage_expected.html    | 2 +-
 .../apache/wicket/markup/html/form/RadioGroupTestPage1_expected.html    | 2 +-
 .../apache/wicket/markup/html/form/RadioGroupTestPage3_expected.html    | 2 +-
 .../wicket/markup/html/form/feedback/FeedbackFormPage_result1.html      | 2 +-
 .../wicket/markup/html/form/feedback/FeedbackFormPage_result2.html      | 2 +-
 .../markup/html/form/feedback/FeedbackIndicatorFormPage_result1.html    | 2 +-
 .../markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html    | 2 +-
 .../org/apache/wicket/markup/html/form/pageWithParameters_expected.html | 2 +-
 .../wicket/markup/html/form/validation/HomePage1_ExpectedResult.html    | 2 +-
 .../wicket/markup/html/internal/EnclosurePageExpectedResult_9-1-1.html  | 2 +-
 .../wicket/markup/html/internal/EnclosurePageExpectedResult_9-1.html    | 2 +-
 .../wicket/markup/html/internal/EnclosurePageExpectedResult_9-2-1.html  | 2 +-
 .../wicket/markup/html/internal/EnclosurePageExpectedResult_9-2.html    | 2 +-
 .../wicket/markup/html/internal/EnclosurePageExpectedResult_9-3-1.html  | 2 +-
 .../wicket/markup/html/internal/EnclosurePageExpectedResult_9-3-2.html  | 2 +-
 .../wicket/markup/html/internal/EnclosurePageExpectedResult_9-3.html    | 2 +-
 .../wicket/markup/html/internal/EnclosurePageExpectedResult_9-4.html    | 2 +-
 .../wicket/markup/html/internal/EnclosurePageExpectedResult_9.html      | 2 +-
 .../apache/wicket/markup/html/tags/InputTagNotVisibleWebPageResult.html | 2 +-
 .../apache/wicket/markup/html/tags/InputTagVisibleWebPageResult.html    | 2 +-
 .../org/apache/wicket/stateless/StatelessPageWithForm_expected.html     | 2 +-
 .../html/repeater/data/table/filter/FilterFormTestPage_expected.html    | 2 +-
 37 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/form/AjaxFormSubmitTestPage_expected.html b/wicket-core/src/test/java/org/apache/wicket/ajax/form/AjaxFormSubmitTestPage_expected.html
index 6d94e80..27ecf00 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/form/AjaxFormSubmitTestPage_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/form/AjaxFormSubmitTestPage_expected.html
@@ -20,7 +20,7 @@ Wicket.Event.publish(Wicket.Event.Topic.AJAX_HANDLERS_BOUND);
 /*]]>*/
 </script>
 </head><body>
-		<form wicket:id="form" id="form1" method="post" action="./page?0-1.-form">
+		<form wicket:id="form" id="form1" method="post" action="./page?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
 			<input type="text" wicket:id="txt1" value="foo" name="txt1"/>
 			<input type="text" wicket:id="txt2" value="bar" name="txt2"/>
 			<input type="submit" value="Submit" wicket:id="submit" name="p::submit" id="submit2"/>
diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/form/OnChangeAjaxBehaviorTestPage_expected.html b/wicket-core/src/test/java/org/apache/wicket/ajax/form/OnChangeAjaxBehaviorTestPage_expected.html
index 3aa7d85..0530aaf 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/form/OnChangeAjaxBehaviorTestPage_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/form/OnChangeAjaxBehaviorTestPage_expected.html
@@ -21,7 +21,7 @@ Wicket.Event.publish(Wicket.Event.Topic.AJAX_HANDLERS_BOUND);
 /*]]>*/
 </script>
 </head><body>
-		<form wicket:id="form" id="form3" method="post" action="./org.apache.wicket.ajax.form.OnChangeAjaxBehaviorTestPage?0-1.-form">
+		<form wicket:id="form" id="form3" method="post" action="./org.apache.wicket.ajax.form.OnChangeAjaxBehaviorTestPage?0-1.-form"><div id="form3_hf_0" hidden="" class="hidden-fields"></div>
 			<input type="text" wicket:id="field" value="" name="field" id="field1"/>
 	
 			<select wicket:id="dropDown" name="dropDown" id="dropDown2">
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupDisabledTestPage_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupDisabledTestPage_expected.html
index 58aada7..65e5627 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupDisabledTestPage_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupDisabledTestPage_expected.html
@@ -2,7 +2,7 @@
 <head><title>CheckGroupTestPage1</title></head>
 <body>
     <!--  In addition test that chars are not converted from upper to lower and vice versa -->
-	<FORM wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.CheckGroupDisabledTestPage?0-1.-form">
+	<FORM wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.CheckGroupDisabledTestPage?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
 		<span wicket:id="group">
 			<input type="checkbox" wicket:id="check1" id="check12" name="group" value="check0" checked="checked" disabled="disabled">check1</input>
 			<span wicket:id="container">
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage1_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage1_expected.html
index 7f1747b..0597d4b 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage1_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage1_expected.html
@@ -2,7 +2,7 @@
 <head><title>CheckGroupTestPage1</title></head>
 <body>
     <!--  In addition test that chars are not converted from upper to lower and vice versa -->
-	<FORM wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.CheckGroupTestPage1?0-1.-form">
+	<FORM wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.CheckGroupTestPage1?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
 		
 			<input type="checkbox" wicket:id="check1" id="check12" name="group" value="check0">check1</input>
 			<span wicket:id="container">
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage2_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage2_expected.html
index 23a04c2..ddfc7ae 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage2_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage2_expected.html
@@ -1,7 +1,7 @@
 <html>
 <head><title>CheckGroupTestPage2</title></head>
 <body>
-	<form wicket:id="form" id="form4" method="post" action="./org.apache.wicket.markup.html.form.CheckGroupTestPage2?1-1.-form">
+	<form wicket:id="form" id="form4" method="post" action="./org.apache.wicket.markup.html.form.CheckGroupTestPage2?1-1.-form"><div id="form4_hf_0" hidden="" class="hidden-fields"></div>
 		
 			<input type="checkbox" wicket:id="check1" id="check15" name="group" value="check0" checked="checked">check1</input>
 			<span wicket:id="container">
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage3_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage3_expected.html
index 6abb92e..c9722d0 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage3_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage3_expected.html
@@ -1,7 +1,7 @@
 <html>
 <head><title>CheckGroupTestPage3</title></head>
 <body>
-	<form wicket:id="form" id="form7" method="post" action="./org.apache.wicket.markup.html.form.CheckGroupTestPage3?2-1.-form">
+	<form wicket:id="form" id="form7" method="post" action="./org.apache.wicket.markup.html.form.CheckGroupTestPage3?2-1.-form"><div id="form7_hf_0" hidden="" class="hidden-fields"></div>
 		
 			<input type="checkbox" wicket:id="check1" id="check18" name="group" value="check0">check1</input>
 			<span wicket:id="container">
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage4_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage4_expected.html
index 2fc9396..91f84c1 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage4_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage4_expected.html
@@ -1,7 +1,7 @@
 <html>
 <head><title>CheckGroupTestPage4</title></head>
 <body>
-	<form wicket:id="form" id="forma" method="post" action="./org.apache.wicket.markup.html.form.CheckGroupTestPage4?3-1.-form">
+	<form wicket:id="form" id="forma" method="post" action="./org.apache.wicket.markup.html.form.CheckGroupTestPage4?3-1.-form"><div id="forma_hf_0" hidden="" class="hidden-fields"></div>
 		
 			<input type="checkbox" wicket:id="check1" id="check1b" name="group" value="check0" checked="checked">check1</input>
 			<span wicket:id="container">
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_A_false_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_A_false_expected.html
index 17d5584..249b94c 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_A_false_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_A_false_expected.html
@@ -1,6 +1,6 @@
 <html>
 <body>
-  <form wicket:id="form" id="form1" method="post" action="./page?0-1.-form">
+  <form wicket:id="form" id="form1" method="post" action="./page?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
     <select wicket:id="dropdown" name="dropdown">
 <option selected="selected" value="0">A</option>
 <option value="1">B</option>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_A_true_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_A_true_expected.html
index 3f4c765..043f181 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_A_true_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_A_true_expected.html
@@ -1,6 +1,6 @@
 <html>
 <body>
-  <form wicket:id="form" id="form1" method="post" action="./page?0-1.-form">
+  <form wicket:id="form" id="form1" method="post" action="./page?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
     <select wicket:id="dropdown" name="dropdown">
 <option value=""></option>
 <option selected="selected" value="0">A</option>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_null_false_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_null_false_expected.html
index a753ec1..ebacd9a 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_null_false_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_null_false_expected.html
@@ -1,6 +1,6 @@
 <html>
 <body>
-  <form wicket:id="form" id="form1" method="post" action="./page?0-1.-form">
+  <form wicket:id="form" id="form1" method="post" action="./page?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
     <select wicket:id="dropdown" name="dropdown">
 <option selected="selected" value="">Choose One</option>
 <option value="0">A</option>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_null_true_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_null_true_expected.html
index ece03d5..8e1271b 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_null_true_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/DropDownChoiceTestPage_null_true_expected.html
@@ -1,6 +1,6 @@
 <html>
 <body>
-  <form wicket:id="form" id="form1" method="post" action="./page?0-1.-form">
+  <form wicket:id="form" id="form1" method="post" action="./page?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
     <select wicket:id="dropdown" name="dropdown">
 <option selected="selected" value=""></option>
 <option value="0">A</option>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormDefaultButtonTestPage_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormDefaultButtonTestPage_expected.html
index 8718e0b..89eaf92 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormDefaultButtonTestPage_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormDefaultButtonTestPage_expected.html
@@ -10,7 +10,7 @@ Wicket.Event.publish(Wicket.Event.Topic.AJAX_HANDLERS_BOUND);
 /*]]>*/
 </script>
 </head><body>
-	<form wicket:id="form" id="form2" method="post" action="./org.apache.wicket.markup.html.form.FormDefaultButtonTestPage?0-1.-form"><div hidden="" class="hidden-fields"><input type="text" tabindex="-1" autocomplete="off"/><input id="form2_hf_1" type="submit" tabindex="-1" name="default" /></div>
+	<form wicket:id="form" id="form2" method="post" action="./org.apache.wicket.markup.html.form.FormDefaultButtonTestPage?0-1.-form"><div id="form2_hf_0" hidden="" class="hidden-fields"></div><div hidden="" class="hidden-fields"><input type="text" tabindex="-1" autocomplete="off"/><input id="form2_hf_1" type="submit" tabindex="-1" name="default" /></div>
 		<button wicket:id="default" name="default" id="default1"></button>
 	</form>
 </body>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMethodTestPage_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMethodTestPage_expected.html
index 8dd4866..4894393 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMethodTestPage_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMethodTestPage_expected.html
@@ -1,6 +1,6 @@
 <html>
 <body>
-	<form wicket:id="formpost" id="formpost1" method="post" action="./org.apache.wicket.markup.html.form.FormMethodTestPage?0-1.-formpost"></form>
+	<form wicket:id="formpost" id="formpost1" method="post" action="./org.apache.wicket.markup.html.form.FormMethodTestPage?0-1.-formpost"><div id="formpost1_hf_0" hidden="" class="hidden-fields"></div></form>
 	<form wicket:id="formget" id="formget2" method="get" action="./org.apache.wicket.markup.html.form.FormMethodTestPage"><div id="formget2_hf_0" hidden="" class="hidden-fields"><input type="hidden" name="0-1.-formget" value="" /></div></form>
 </body>
 </html>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/NestedFormsTest_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/NestedFormsTest_expected.html
index 129a3be..bc24b3f 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/NestedFormsTest_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/NestedFormsTest_expected.html
@@ -1 +1 @@
-<html><body><form wicket:id="outerForm" id="outerForm1" method="post" action="./page?0-1.-outerForm">  <input type="submit" wicket:id="outerSubmit" name="outerSubmit" id="outerSubmit2"/>  <div wicket:id="innerForm" id="innerForm3"><input type="submit" wicket:id="innerSubmit" name="innerForm:innerSubmit" id="innerSubmit4"/></div></form></body></html>
\ No newline at end of file
+<html><body><form wicket:id="outerForm" id="outerForm1" method="post" action="./page?0-1.-outerForm"><div id="outerForm1_hf_0" hidden="" class="hidden-fields"></div>  <input type="submit" wicket:id="outerSubmit" name="outerSubmit" id="outerSubmit2"/>  <div wicket:id="innerForm" id="innerForm3"><input type="submit" wicket:id="innerSubmit" name="innerForm:innerSubmit" id="innerSubmit4"/></div></form></body></html>
\ No newline at end of file
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/NestedFormsTest_placeholder_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/NestedFormsTest_placeholder_expected.html
index 91e359c..072b36b 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/NestedFormsTest_placeholder_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/NestedFormsTest_placeholder_expected.html
@@ -1 +1 @@
-<html><body><form wicket:id="outerForm" id="outerForm1" method="post" action="./page?0-1.-outerForm">  <input type="submit" wicket:id="outerSubmit" name="outerSubmit" id="outerSubmit2"/>  <div id="innerForm3" hidden="" data-wicket-placeholder=""></div></form></body></html>
\ No newline at end of file
+<html><body><form wicket:id="outerForm" id="outerForm1" method="post" action="./page?0-1.-outerForm"><div id="outerForm1_hf_0" hidden="" class="hidden-fields"></div>  <input type="submit" wicket:id="outerSubmit" name="outerSubmit" id="outerSubmit2"/>  <div id="innerForm3" hidden="" data-wicket-placeholder=""></div></form></body></html>
\ No newline at end of file
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/RadioGroupDisabledTestPage_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/RadioGroupDisabledTestPage_expected.html
index 67a52bf..ae57045 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/RadioGroupDisabledTestPage_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/RadioGroupDisabledTestPage_expected.html
@@ -1,7 +1,7 @@
 <html>
 <head><title>RadioGroupTestPage1</title></head>
 <body>
-	<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.RadioGroupDisabledTestPage?0-1.-form">
+	<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.RadioGroupDisabledTestPage?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
 		<span wicket:id="group">
 			<input type="radio" wicket:id="radio1" id="radio12" name="group" value="radio0" disabled="disabled">radio1</input>
 			<span wicket:id="container">
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage1_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage1_expected.html
index ca5bed6..f796ddf 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage1_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage1_expected.html
@@ -1,7 +1,7 @@
 <html>
 <head><title>RadioGroupTestPage1</title></head>
 <body>
-	<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.RadioGroupTestPage1?0-1.-form">
+	<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.RadioGroupTestPage1?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
 		
 			<input type="radio" wicket:id="radio1" id="radio12" name="group" value="radio0">radio1</input>
 			<span wicket:id="container">
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage3_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage3_expected.html
index f836c9d..7039933 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage3_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage3_expected.html
@@ -1,6 +1,6 @@
 <html>
 <body>
-<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.RadioGroupTestPage3?0-1.-form">
+<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.RadioGroupTestPage3?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
 	
 		<input wicket:id="check1" type="radio" id="check12" name="radio" value="radio0" checked="checked">Yes
 		<input wicket:id="check2" type="radio" id="check23" name="radio" value="radio1" checked="checked">No
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result1.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result1.html
index 6428a2e..bf52b08 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result1.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result1.html
@@ -1,6 +1,6 @@
 <html>
 <body>
-<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.feedback.FeedbackFormPage?0-1.-form">
+<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.feedback.FeedbackFormPage?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
 <span wicket:id="feedback"><wicket:border>
 		<wicket:body>
 	<input type="text" wicket:id="input" value="" name="feedback:feedback_body:input">
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result2.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result2.html
index 3eab8aa..ea8c1e8 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result2.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result2.html
@@ -1,6 +1,6 @@
 <html>
 <body>
-<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.feedback.FeedbackFormPage?1-2.-form">
+<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.feedback.FeedbackFormPage?1-2.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
 <span wicket:id="feedback"><wicket:border>
 		<wicket:body>
 	<input type="text" wicket:id="input" value="" name="feedback:feedback_body:input">
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result1.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result1.html
index 75a5b8e..8fabd87 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result1.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result1.html
@@ -1,6 +1,6 @@
 <html>
 <body>
-<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.feedback.FeedbackIndicatorFormPage?0-1.-form">
+<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.feedback.FeedbackIndicatorFormPage?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
 	<input type="text" wicket:id="input" value="" name="input">
 
 </form>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html
index bbb6774..d1d8996 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html
@@ -1,6 +1,6 @@
 <html>
 <body>
-<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.feedback.FeedbackIndicatorFormPage?1-2.-form">
+<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.form.feedback.FeedbackIndicatorFormPage?1-2.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
 	<input type="text" wicket:id="input" value="" name="input">
 <span wicket:id="feedback"><wicket:panel><span wicket:id="indicator" class="feedbackIndicatorERROR">*</span></wicket:panel></span>
 </form>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/pageWithParameters_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/pageWithParameters_expected.html
index ed9223f..a5be785 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/pageWithParameters_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/pageWithParameters_expected.html
@@ -1,6 +1,6 @@
 <html>
 <body>
-	<form wicket:id="formpost" id="formpost1" method="post" action="./org.apache.wicket.markup.html.form.FormMethodTestPage?0-1.-formpost&amp;first=foo&amp;second=bar"></form>
+	<form wicket:id="formpost" id="formpost1" method="post" action="./org.apache.wicket.markup.html.form.FormMethodTestPage?0-1.-formpost&amp;first=foo&amp;second=bar"><div id="formpost1_hf_0" hidden="" class="hidden-fields"></div></form>
 	<form wicket:id="formget" id="formget2" method="get" action="./org.apache.wicket.markup.html.form.FormMethodTestPage"><div id="formget2_hf_0" hidden="" class="hidden-fields"><input type="hidden" name="0-1.-formget" value="" /><input type="hidden" name="first" value="foo" /><input type="hidden" name="second" value="bar" /></div></form>
 </body>
 </html>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/validation/HomePage1_ExpectedResult.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/validation/HomePage1_ExpectedResult.html
index 9f0e997..a87014e 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/validation/HomePage1_ExpectedResult.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/validation/HomePage1_ExpectedResult.html
@@ -8,7 +8,7 @@
         <span wicket:id="message">If you see this message wicket is properly configured and running</span>
         
         <div wicket:id="bug"><wicket:panel>
-	<form wicket:id="form" id="form9" method="post" action="./org.apache.wicket.markup.html.form.validation.HomePage1?1-1.-bug-form">
+	<form wicket:id="form" id="form9" method="post" action="./org.apache.wicket.markup.html.form.validation.HomePage1?1-1.-bug-form"><div id="form9_hf_0" hidden="" class="hidden-fields"></div>
 	  <div wicket:id="border"><wicket:border>
 		<wicket:body>
 	    <input wicket:id="name" value="" name="border:border_body:name"/>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-1-1.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-1-1.html
index 46bebb1..f3acfe2 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-1-1.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-1-1.html
@@ -1,6 +1,6 @@
 <html xmlns:wicket>
 <body>
-  <form wicket:id="form" id="form1" method="post" action="./page?2-3.-form">
+  <form wicket:id="form" id="form1" method="post" action="./page?2-3.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
     <!-- does Wicket behave different if the enclosure child is a FormComponent?? Needs testing -->
     <wicket:enclosure child="label">
       <input wicket:id="input" type="checkbox" name="input"/>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-1.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-1.html
index beac698..170f271 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-1.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-1.html
@@ -1,6 +1,6 @@
 <html xmlns:wicket>
 <body>
-  <form wicket:id="form" id="form1" method="post" action="./page?1-2.-form">
+  <form wicket:id="form" id="form1" method="post" action="./page?1-2.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
     <!-- does Wicket behave different if the enclosure child is a FormComponent?? Needs testing -->
     
   </form>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-2-1.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-2-1.html
index e113306..03b1372 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-2-1.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-2-1.html
@@ -1,6 +1,6 @@
 <html xmlns:wicket>
 <body>
-  <form wicket:id="form" id="form1" method="post" action="./page?2-3.-form">
+  <form wicket:id="form" id="form1" method="post" action="./page?2-3.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
     <!-- does Wicket behave different if the enclosure child is a FormComponent?? Needs testing -->
     
   </form>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-2.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-2.html
index 4b1d415..c1cfded 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-2.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-2.html
@@ -1,6 +1,6 @@
 <html xmlns:wicket>
 <body>
-  <form wicket:id="form" id="form1" method="post" action="./page?4-5.-form">
+  <form wicket:id="form" id="form1" method="post" action="./page?4-5.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
     <!-- does Wicket behave different if the enclosure child is a FormComponent?? Needs testing -->
     
   </form>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3-1.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3-1.html
index 215e6e6..720e42b 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3-1.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3-1.html
@@ -1,6 +1,6 @@
 <html xmlns:wicket>
 <body>
-  <form wicket:id="form" id="form1" method="post" action="./page?5-6.-form">
+  <form wicket:id="form" id="form1" method="post" action="./page?5-6.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
     <!-- does Wicket behave different if the enclosure child is a FormComponent?? Needs testing -->
     <wicket:enclosure child="label">
       
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3-2.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3-2.html
index 3b89d1b..800b48f 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3-2.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3-2.html
@@ -1,6 +1,6 @@
 <html xmlns:wicket>
 <body>
-  <form wicket:id="form" id="form1" method="post" action="./page?6-7.-form">
+  <form wicket:id="form" id="form1" method="post" action="./page?6-7.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
     <!-- does Wicket behave different if the enclosure child is a FormComponent?? Needs testing -->
     <wicket:enclosure child="label">
       <input wicket:id="input" type="checkbox" name="input"/>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3.html
index 5aed66f..61b635c 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-3.html
@@ -1,6 +1,6 @@
 <html xmlns:wicket>
 <body>
-  <form wicket:id="form" id="form1" method="post" action="./page?3-4.-form">
+  <form wicket:id="form" id="form1" method="post" action="./page?3-4.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
     <!-- does Wicket behave different if the enclosure child is a FormComponent?? Needs testing -->
     <wicket:enclosure child="label">
       
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-4.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-4.html
index 9081a9d..07fee20 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-4.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9-4.html
@@ -1,6 +1,6 @@
 <html xmlns:wicket>
 <body>
-  <form wicket:id="form" id="form1" method="post" action="./page?1-2.-form">
+  <form wicket:id="form" id="form1" method="post" action="./page?1-2.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
     <!-- does Wicket behave different if the enclosure child is a FormComponent?? Needs testing -->
     <wicket:enclosure child="label">
       <input wicket:id="input" type="checkbox" checked="checked" name="input"/>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9.html
index 601179f..c0430ea 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_9.html
@@ -1,6 +1,6 @@
 <html xmlns:wicket>
 <body>
-  <form wicket:id="form" id="form1" method="post" action="./page?0-1.-form">
+  <form wicket:id="form" id="form1" method="post" action="./page?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
     <!-- does Wicket behave different if the enclosure child is a FormComponent?? Needs testing -->
     <wicket:enclosure child="label">
       <input wicket:id="input" type="checkbox" name="input"/>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/tags/InputTagNotVisibleWebPageResult.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/tags/InputTagNotVisibleWebPageResult.html
index b0f896d..e7aec50 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/tags/InputTagNotVisibleWebPageResult.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/tags/InputTagNotVisibleWebPageResult.html
@@ -1,6 +1,6 @@
 <html>
 <body>
-<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.tags.InputTagNotVisibleWebPage?0-1.-form">
+<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.tags.InputTagNotVisibleWebPage?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
 
 </form>
 </body>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/tags/InputTagVisibleWebPageResult.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/tags/InputTagVisibleWebPageResult.html
index cef08bc..3aaf469 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/tags/InputTagVisibleWebPageResult.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/tags/InputTagVisibleWebPageResult.html
@@ -1,6 +1,6 @@
 <html>
 <body>
-<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.tags.InputTagVisibleWebPage?0-1.-form">
+<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.markup.html.tags.InputTagVisibleWebPage?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div>
 <input wicket:id="input" type="text" value="" name="input">
 </form>
 </body>
diff --git a/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessPageWithForm_expected.html b/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessPageWithForm_expected.html
index 88cce23..f74a960 100644
--- a/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessPageWithForm_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessPageWithForm_expected.html
@@ -1,5 +1,5 @@
 <html>
 <body>
-<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.stateless.StatelessPageWithForm?-1.-form&amp;first=foo&amp;second=bar"></form>
+<form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.stateless.StatelessPageWithForm?-1.-form&amp;first=foo&amp;second=bar"><div id="form1_hf_0" hidden="" class="hidden-fields"></div></form>
 </body>
 </html>
\ No newline at end of file
diff --git a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterFormTestPage_expected.html b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterFormTestPage_expected.html
index 96feaf7..98ea024 100644
--- a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterFormTestPage_expected.html
+++ b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterFormTestPage_expected.html
@@ -10,6 +10,6 @@ Wicket.FilterForm.restore('form1focus');;
 /*]]>*/
 </script>
 </head><body>
-  <form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.extensions.markup.html.repeater.data.table.filter.FilterFormTestPage?0-1.-form"><div hidden='' class='hidden-fields'><input type='hidden' name='form1focus' id='form1focus' value=''/><input type='submit'/></div></form>
+  <form wicket:id="form" id="form1" method="post" action="./org.apache.wicket.extensions.markup.html.repeater.data.table.filter.FilterFormTestPage?0-1.-form"><div id="form1_hf_0" hidden="" class="hidden-fields"></div><div hidden='' class='hidden-fields'><input type='hidden' name='form1focus' id='form1focus' value=''/><input type='submit'/></div></form>
 </body>
 </html>