You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Emond Papegaaij (Updated) (JIRA)" <ji...@apache.org> on 2012/01/03 08:52:28 UTC

[jira] [Updated] (WICKET-4290) Confusion between a form component's wicket:id and a PageParameter in Wicket 1.5.x

     [ https://issues.apache.org/jira/browse/WICKET-4290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Emond Papegaaij updated WICKET-4290:
------------------------------------

    Attachment: 0001-WICKET-4290-Do-not-render-page-parameters-for-statef.patch

Patch that tries to fix this issue as described by Martin
                
> Confusion between a form component's wicket:id and a PageParameter in Wicket 1.5.x
> ----------------------------------------------------------------------------------
>
>                 Key: WICKET-4290
>                 URL: https://issues.apache.org/jira/browse/WICKET-4290
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.5.0, 1.5.1, 1.5.2, 1.5.3
>         Environment: OS Linux Mint
> Java 1.6
>            Reporter: Victor MONTANER
>            Assignee: Emond Papegaaij
>         Attachments: 0001-WICKET-4290-Do-not-render-page-parameters-for-statef.patch, 0001-WICKET-4290-remove-page-parameters-in-onBeforeRender.patch, Zencontact.tar.gz
>
>
> A Form has a strange behavior when a component has the same wicket:id than a page parameter.
> To create a Bookmarkable link after a form is submited, setResponsePage is called, and a PageParameter object is given as a parameter : 
> 			PageParameters params = new PageParameters();
> 			params.add("searchString", searchField.getValue());
> 			setResponsePage(SomePage.class, params);
> In Wicket 1.5, if "searchString" is also a form-component's wicket:id, the form will only be submitted once : 
> searchField.getValue() will always return the first value entered by the user.
> Here's an example : 
> public class SearchPanel extends Panel {
> 	public SearchPanel(String id) {
> 		super(id);
> 		add(new SearchForm("searchForm"));
> 	}
> 	private class SearchForm extends Form<String> {
> 		private static final long serialVersionUID = 1L;
> 		private TextField<String> searchField;
> 		public SearchForm(String id) {
> 			super(id);
> 			searchField = new TextField<String>("searchString", new Model<String>(""));
> 			add(searchField);
> 		}
> 		@Override
> 		public void onSubmit() {
> 			PageParameters params = new PageParameters();
> 			params.add("searchString", searchField.getValue());
> 			setResponsePage(ListContactsPage.class, params);
> 		}
> 	}
> }
> I tested the same application with Wicket 1.4.17 and it was fine. I only had this problem in Wicket 1.5.2 and 1.5.3.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira