Wicket 1.4, Too many path parts... Exception, Reason And Workaround
The following exception:
java.lang.IllegalArgumentException: Too many path parts, please provide sufficient number of path parameter names at org.apache.wicket.request.target.coding.MixedParamUrlCodingStrategy.decodeParameters(MixedParamUrlCodingStrategy.java:181) at org.apache.wicket.request.target.coding.BookmarkablePageRequestTargetUrlCodingStrategy.decode(BookmarkablePageRequestTargetUrlCodingStrategy.java:80) at org.apache.wicket.protocol.http.request.WebRequestCodingStrategy.targetForRequest(WebRequestCodingStrategy.java:484) ...
occurs after mounting a page with the MixedParamUrlCodingStrategy (the "RESTFul way"). This exception happens in pages with relative links (e.g. ./img/picture.jpg). The MixedParamUrlCodingStrategy seems to prepend the "resource" context before each relative URL what results in this exception.
Workaround: the use of absolute URLs, or other UrlCodingStrategies.
Hey Adam, hope you are well.
Have you managed to get Wicket 1.4 working with EJB? The wicket-javaee project doesn't seem to support 1.4 and also has a bug with the classloader in Glassfish. I'd be interested to see how you're doing it. Spring?
Posted by Alan Garfield on September 21, 2009 at 04:05 AM CEST #
I'm using wicket-javaee with 1.4rc - but will migrate to 1.4 soon. The injection works perfectly. It is running on Glassfish v2.1 and I'm using EJB 3 for the logic.
Btw. instead of injection, lookup would work perfectly as well. I would use a BeanLocator with a single, static method as well.
Btw. Spring would work perfectly as well - but I'm enjoying the Convention Over Configuration :-)
Posted by Adam Bien on September 21, 2009 at 01:12 PM CEST #
Its simple to use with glassfish, include wicket-ioc + wicket javaee libraries.
Then use this in your init() method in your application class.
then be sure to add the bean name to the annotation
Works great for me!
Posted by Adriaaaaan on September 28, 2009 at 12:53 PM CEST #