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.3, 1.5.2, 1.5.1, 1.5.0
Environment: OS Linux Mint
Java 1.6
Reporter: Victor MONTANER
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