Maybe WICKET-950 should be marked as a duplicate of this one then.
Regards, Sebastiaan Chris Lintz wrote:
I Have submitted the following Jira on this issue: http://issues.apache.org/jira/browse/WICKET-976 Chris Lintz wrote:Actually I just realized what causes this but have no idea how to get past it. The InviteAcceptacePage has a Panel within another Panel. The nested Panel contains a simple form submit button. The IndexParamUrlStrategy's appendParameters() function is called with this Map parameters (from an eclipse debug): wicket:interface = ":4:moduleColumnPanel:moduleColumnFrag:loginPanel:loginBoxPanel:loginBox:lFrm::IFormSubmitListener::" Here is the appendParameters() function inside IndexedParamUrlCodingStrategy: protected void appendParameters(AppendingStringBuffer url, Map parameters) { int i; for (i = 0; parameters.containsKey(String.valueOf(i)); i++) { String value = (String) parameters.get(String.valueOf(i)); if (!url.endsWith("/")) url.append("/"); url.append(urlEncode(value)).append("/"); } String pageMap = (String) parameters.get("wicket:pageMapName"); if (pageMap != null) { i++; pageMap = WebRequestCodingStrategy.encodePageMapName(pageMap); if (!url.endsWith("/")) url.append("/"); url.append("wicket:pageMapName").append("/").append(urlEncode(pageMap)).append("/"); } if (i != parameters.size()) throw new WicketRuntimeException( "Not all parameters were encoded. Make sure all parameter names are integers in consecutive order starting with zero. Current parameter names are: " + parameters.keySet().toString()); else return; } The pagemap is null and the statement if (i != parameters.size()) evaluates to true and generates the error. Why does the panel with these Map parameters generate the error insidethat function?thanks for any help Chris Lintz wrote:Hi all, So i think there is a bug in IndexedParamUrlCodingStrategy . I have this simple mount in my extened WebApplication: mount(new IndexedParamUrlCodingStrategy("/joinme", InviteAcceptancePage.class)); In my InviteAcceptancePage class, i simply do this snippet of code: public InviteAcceptancePage(PageParameters params) { String code = params.getString("0"); logger.debug("code:"+code); ... }When i do this in my browser for example: http://www.mydomain.com/joinme/55555The following 55555 parameter is logged just fine, but after the constructor returns I get the below exception: 22:23:43,600 ERROR [RequestCycle] Not all parameters were encoded. Make sure all parameter names are integers in consecutive order starting with zero. Current parameter names are: [wicket:interface] org.apache.wicket.WicketRuntimeException: Not all parameters were encoded. Make sure all parameter names are integers in consecutive order Any ideas? thanks
smime.p7s
Description: S/MIME Cryptographic Signature
