You shouldn't have a code like this: getRequestCycle().setRedirect(false); getRequestCycle().setRequestTarget(EmptyRequestTarget.getInstance()); getResponse().redirect(" https://mysite/app/?wicket:bookmarkablePage=:com.myapp.UserAccount");
A more 'wicket way' of doing thins is this: setResponsePage(UserAccount.class); That means that a bookmarkable page will be created (a new instance of the page will be instantiated). You can also do something like this: setResponsePage(new UserAccount(account)); Or you could try to make this page as stateless as possible by passing account id or other parameters to the page.... that depends.. Alex V. Jenks wrote: > > 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 > <alex_objel...@yahoo.com>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 >> > <alex_objel...@yahoo.com>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 >> >> > <alex_objel...@yahoo.com>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: users-unsubscr...@wicket.apache.org >> >> >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> >> >> >> >> >> >> > >> >> > >> >> >> >> -- >> >> 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: users-unsubscr...@wicket.apache.org >> >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> >> >> >> > >> > >> >> -- >> 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: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> > > -- View this message in context: http://old.nabble.com/%22Pretty%22-URLs-and-sessions-tp26581608p26835517.html Sent from the Wicket - User 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