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 inside that 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/55555 > > The 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 > -- View this message in context: http://www.nabble.com/Bug-in-IndexedParamUrlCodingStrategy-1.3-Beta3-tf4440109.html#a12669640 Sent from the Wicket - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]