Hit a snag! At the cart page (going into the login page), I redirect to
https like so:
getRequestCycle().setRedirect(false);
getRequestCycle().setRequestTarget(EmptyRequestTarget.getInstance());
getResponse().redirect("https://mysite/app/account");
"user-account" being mapped like so in the "app" class:
mount(new HybridUrlCodingStrategy("/account", UserAccount.class));
...gets me this exception:
org.apache.wicket.WicketRuntimeException: Can't instantiate page using
constructor public com.agribeef.abcommerce.ui.UserAccount()
at
org.apache.wicket.session.DefaultPageFactory.createPage(DefaultPageFactory.java:212)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:57)
at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:299)
at
org.apache.wicket.request.target.coding.HybridUrlCodingStrategy$HybridBookmarkablePageRequestTarget.newPage(HybridUrlCodingStrategy.java:887)
at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:321)
at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:234)
at
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
at
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
...............................
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.apache.wicket.session.DefaultPageFactory.createPage(DefaultPageFactory.java:192)
... 40 more
Caused by: java.lang.NullPointerException
at com.myapp.UserAccount.<init>(UserAccount.java:44)
... 45 more
...which is of course, where I try to reference the stateful bean
(ShoppingCartBean) that I'm passing around.
Prior to now, I just did this:
getRequestCycle().setRedirect(false);
getRequestCycle().setRequestTarget(EmptyRequestTarget.getInstance());
getResponse().redirect("
https://mysite/app/?wicket:bookmarkablePage=:com.myapp.UserAccount");
I could stick with that I guess, since it's trackable. It would have been
nice to use the Hybrid approach consistently, though.
-v
On Thu, Dec 17, 2009 at 2:12 PM, Alex Objelean <[email protected]>wrote:
>
> Also, it could be useful to check this out:
>
> http://day-to-day-stuff.blogspot.com/2008/10/wicket-extreme-consistent-urls.html
>
> Alex
>
>
> V. Jenks wrote:
> >
> > Excellent, excellent! This is exactly what I was after! That
> is...unless
> > this SEO can find another monkey wrench to throw in it. But...it looks
> > like
> > it's exactly what I need. Thanks!
> >
> > Alex R. - good point on tracking info internally. I think it'd be very
> > useful but I'm dealing w/ the marketing dept. They're so wowed by GA, I
> > doubt there's any turning back.
> >
> > Thanks guys.
> >
> > On Thu, Dec 17, 2009 at 12:08 PM, Alex Objelean
> > <[email protected]>wrote:
> >
> >>
> >> There are two possibilities:
> >> 1) In your application class add the following:
> >> mount(new HybridUrlCodingStrategy("/checkout", CheckoutPage.class));
> >>
> >> 2) If you have wicket-stuff annotation dependency
> >> (
> >>
> http://wicketstuff.org/confluence/display/STUFFWIKI/wicketstuff-annotation
> >> )
> >> you can annotate your page class with:
> >>
> >> @MountPath(path="/checkout")
> >> @MountHybrid
> >> public class CheckoutPage extends WebPage {}
> >>
> >> Alex
> >>
> >>
> >>
> >> V. Jenks wrote:
> >> >
> >> > Thanks Alex.
> >> >
> >> > I just had another meeting w/ the SEO guy today and the idea is to
> >> track
> >> > orders moving through our storefront in order go gauge sales based on
> >> the
> >> > SEO strategy. In other words, where did our customers come from
> >> (Google
> >> > search?), what did they buy, and did they make it all the way through
> >> the
> >> > checkout process. We need to be able to track pages in Google
> >> Analytics.
> >> >
> >> > If we could append/prepend some sort of value to the pages, while
> >> keeping
> >> > the dynamic Wicket page version parameter info in there, it would be
> >> > sufficient. In Analytics, the Wicket portion of the URL can be
> removed
> >> > and
> >> > the rest would be used to identify traffic moving through the site.
> >> >
> >> > Is HybridUrlCodingStrategy the way to go, with this in mind? Where
> are
> >> > some
> >> > good examples as to how to implement it and do what I'm describing?
> >> >
> >> > Thanks again!
> >> >
> >> > -v
> >> >
> >> > On Tue, Dec 1, 2009 at 6:04 AM, Alex Objelean
> >> > <[email protected]>wrote:
> >> >
> >> >>
> >> >> You can mount your page with HybridUrlCodingStrategy. This way, even
> >> >> session
> >> >> relative url's will be SEO friendly.
> >> >>
> >> >> But you must be aware of one thing, it makes sense to make SEO only
> >> >> bookmarkable pages (stateless pages). It is meaningless to make SEO
> >> aware
> >> >> session relative pages, because these will be shown as expired when
> >> >> somebody
> >> >> else will use these links.
> >> >>
> >> >> Regards,
> >> >> Alex Objelean
> >> >>
> >> >>
> >> >> V. Jenks wrote:
> >> >> >
> >> >> > I'm working on some changes for our storefront (Wicket 1.4, Java EE
> >> 5,
> >> >> > Glassfish 2.1) based on some recommendations made to us by an SEO
> >> >> > consultant. One of them is re-writing some of the URLs so as to
> >> have
> >> >> them
> >> >> > indexed by Google, etc.
> >> >> >
> >> >> > My concern is the Wicket WebSession that I use to pass around an
> >> >> instance
> >> >> > of
> >> >> > a stateful session bean. If I redirect to a mounted bookmarkable
> >> page
> >> >> > when
> >> >> > going through pages in the checkout process, vs redirecting to a
> new
> >> >> > instances of the page class, will there be any adverse effects on
> >> the
> >> >> > session? Will customers experience a problem with their shopping
> >> cart
> >> >> > sessions?
> >> >> >
> >> >> > Thanks!
> >> >> >
> >> >> >
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >>
> >>
> http://old.nabble.com/%22Pretty%22-URLs-and-sessions-tp26581608p26591380.html
> >> >> Sent from the Wicket - User mailing list archive at Nabble.com.
> >> >>
> >> >>
> >> >> ---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail: [email protected]
> >> >> For additional commands, e-mail: [email protected]
> >> >>
> >> >>
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >>
> http://old.nabble.com/%22Pretty%22-URLs-and-sessions-tp26581608p26833349.html
> >> Sent from the Wicket - User mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/%22Pretty%22-URLs-and-sessions-tp26581608p26835013.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>