instead of mounting it set in the settings. mounting is for intercepting path segments.
also set a breakpoint and see if its being hit. -igor On Thu, Jan 27, 2011 at 2:56 AM, Mike Mander <wicket-m...@gmx.de> wrote: > Hi, > > urls in my shop look like this > <code> > http://localhost:8080/ShowThemePage-ti325-Twilight.html > </code> > ShowThemePage should be mapped to my ThemePage.class > The ti325 and Twilight Tokens should be indexed parameters > and the .html is for ornament. > > Until now i mounted my own Strategy in my application.init > <code> > mount(new ThemeUrlCodingStrategy()); > </code> > > The strategy looks like > <code> > import org.apache.wicket.IRequestTarget; > import org.apache.wicket.PageParameters; > import org.apache.wicket.request.RequestParameters; > import > org.apache.wicket.request.target.coding.AbstractRequestTargetUrlCodingStrategy; > import > org.apache.wicket.request.target.component.BookmarkablePageRequestTarget; > import > org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget; > import org.apache.wicket.util.string.AppendingStringBuffer; > > import de.shop.shopping.ThemePage; > > public class ThemeUrlCodingStrategy extends > AbstractRequestTargetUrlCodingStrategy { > > public ThemeUrlCodingStrategy() { > super("ShowThemePage"); > } > > @Override > public CharSequence encode(IRequestTarget requestTarget) { > AppendingStringBuffer url = new > AppendingStringBuffer("ShowThemePage-ti"); > IBookmarkablePageRequestTarget target = > (IBookmarkablePageRequestTarget) requestTarget; > PageParameters parameters = target.getPageParameters(); > > url.append(urlEncodePathComponent(String.valueOf(parameters.get("ti")))).append("-").append(urlEncodePathComponent(escape(String.valueOf(parameters.get("name"))))); > return url.append(".html"); > } > > private String escape(String value) { > return value == null ? null : value.replaceAll(" ", "_"); > } > > @Override > public IRequestTarget decode(RequestParameters requestParameters) { > return new BookmarkablePageRequestTarget(ThemePage.class, new > PageParameters("ti=99, name=Hello_kitty")); // for testing use constant > parameters > } > > @Override > public boolean matches(IRequestTarget requestTarget) { > if (requestTarget instanceof IBookmarkablePageRequestTarget) { > IBookmarkablePageRequestTarget target = > (IBookmarkablePageRequestTarget) requestTarget; > return ThemePage.class.isAssignableFrom(target.getPageClass()); > } > return false; > } > } > </code> > > But all i get is a 404 for page not found. Do i have to implement something > else? > > Thanks for help > Mike > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org