Sounds to complicated. Then I prefer the old fashioned way like this ...
Wicket generates the new Url based on a passed in "Product". I don't have to
bother about ".html" ending and segement sizes and so on ...

mountPage("product.html", LegacyProductPage.class);
mountPage("product/#{product_name}/${product}", ProductPage.class);

public abstract class AbstractRedirectPage extends WebPage
{
        public AbstractRedirectPage( final PageParameters parameters, final 
String
url )
        {
                this( parameters, url, HttpServletResponse.SC_MOVED_PERMANENTLY 
);
        }
        
        public AbstractRedirectPage( final PageParameters parameters, final 
String
url, int statusCode )
        {
                super(parameters);
                throw new RedirectToUrlException(toFullUrl( url ), statusCode );
        }
}

public class LegacyProductPage extends AbstractRedirectPage
{
        public LegacyProductPage( final PageParameters parameters, final Product
product )
        {
                super(parameters, getProductPageUrl(product));
        }

        private static String getProductPageUrl( Product product )
        {
                final PageInfo pageInfo = new ProductPage.PageInfo(product);
                return pageInfo.getRelativeUrl();
        }
}

public class ProductPage extends WebPage
{
        public static class PageInfo
        {
                final Product product;
                
                public PageInfo( Product product )
                {
                        this.product = product;
                }

                public String getRelativeUrl()
                {
                        return RequestCycle.get().urlFor( ProductPage.class,
pageParametersForProductPage( product ) ).toString();
                }

        }

        private final Product product;
        

        public ProductPage(final PageParameters pageParameters, final Product
product )
        {

        }
}



--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Redirect-to-Wicket-page-with-301-Moved-Permanently-tp4631888p4655470.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to