Hi, users, We're trying to avoid wicket specific stuff showing up in our URL bar. The client thinks that when the URL looks something like this: login/wicket:interface/:2:componentId:loginForm::IFormSubmitListener:: , it kinda sucks and looks unprofessional. I find it hard to disagree.. I'd rather have the URL look prettier.
For most of the pages this has been no problem for us, we mount bookmarkable URLs for them and all is great. However, for the login page, we've been through several iterations: 1. We did the login form by AJAX, using an AjaxSubmitLink. This meant that the wicket-specific URL was still in the html source, but was invisible to the user. Issue: despite the fact that it's in a stateless form, AJAX in wicket seems to be stateful no matter what. This meant that the login page could expire, which was no good. 2. I changed the AjaxSubmitLink to a SubmitLink. This succeeded in making our login stateless. However, the wickety URL that was hidden in the AJAX request now became visible to the user on a login failure. 3. I tried setting up the CryptedUrlWebRequestCodingStrategy. This successfully managed to encrypt the resulting wicket specific URL to ?x=a325u0234usdajfasdf, but the thing is, the login page now started expiring again. The reason is that CryptedUrlWebRequestCodingStrategy uses a key stored in the session, which has the effect of making all stateless links stateful again. Does anybody have a good way for a stateless login form that doesn't show wickety stuff in the URL bar? Thanks in advance for any help. Neil