You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martijn Dashorst (JIRA)" <ji...@apache.org> on 2015/10/16 17:42:05 UTC
[jira] [Created] (WICKET-6006) ModalWindow.closeCurrent() causes
414 status error
Martijn Dashorst created WICKET-6006:
----------------------------------------
Summary: ModalWindow.closeCurrent() causes 414 status error
Key: WICKET-6006
URL: https://issues.apache.org/jira/browse/WICKET-6006
Project: Wicket
Issue Type: Bug
Components: wicket-extensions
Affects Versions: 7.0.0, 6.20.0
Reporter: Martijn Dashorst
Priority: Minor
When you have a panel inside a modal window, and the panel contains a form with e.g. a textarea, and you fill the textarea with about 10k of text, when the modal window is closed using closeCurrent() you get a 414 status error stating that the URL is too long (depends on the backend server).
{code}
public ModalPanel1(String id)
{
super(id);
Form<?> form = new Form<>("form");
add(form);
add(new AjaxLink<Void>("closeCancel") {
@Override
public void onClick(AjaxRequestTarget target) {
ModalWindow.closeCurrent(target);
}
});
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 10000; i++)
sb.append("a");
form.add(new TextArea<>("bigFingTextField", Model.of(sb.toString())));
}
{code}
Closing the window using ModalWindow.closeCurrent() will add the serializedForm of the modal window's contents (See line 656 of wicket-ajax-debug.js) to the URL that's sent to wicket. If the form inside the panel contains lots of data, this will exceed the maximum URL length...
https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js#L656
The workaround is of course to use ModalWindow#close(IPartialPageRequestHandler) instead, however, why is ModalWindow#closeCurrent() even there, and why doesn't it properly close the window with the same behavior as the instance method?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)