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

Reply via email to