You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Mike Mander <wi...@gmx.de> on 2011/09/02 11:24:44 UTC
[Migration 1.5] How can i redirect to another page with a configured
response?
Hi,
my usecase: Google caches page urls from our old shop. Because we
changed the url layout i have to redirect all page requests to the new page.
I did that this way
wicket-1.4.18
@Override
protected void onBeforeRender() {
super.onBeforeRender();
final String url =
RequestCycle.get().urlFor(getRedirectPageClass(),
getRedirectPageParameters()).toString();
RedirectRequestTarget target = new RedirectRequestTarget(url) {
@Override
public void respond(RequestCycle requestCycle) {
WebResponse response = (WebResponse)
requestCycle.getResponse();
response.reset();
response.getHttpServletResponse().setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.redirect(url);
}
};
getRequestCycle().setRequestTarget(target);
}
Until now my wicket 1.5 solution looks like this:
@Override
protected void onBeforeRender() {
super.onBeforeRender();
final String url =
RequestCycle.get().urlFor(getRedirectPageClass(),
getRedirectPageParameters()).toString();
RedirectRequestHandler target = new RedirectRequestHandler(url) {
@Override
public void respond(IRequestCycle requestCycle) {
WebResponse response = (WebResponse)
requestCycle.getResponse();
response.reset();
((HttpServletResponse)
response.getContainerResponse()).setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.redirect(url);
^^^^^^^^^^^^^^^^^^
}
};
getRequestCycle().setRequestTarget(target);
^^^^^^^^^^^^^^^
}
It is not compiling because of the marked code pieces.
I've already checked the migration guide.
Thanks for helping me out.
Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: [Migration 1.5] How can i redirect to another page with a configured
response?
Posted by Mike Mander <wi...@gmx.de>.
Thanks Martin,
that worked. Is this still the way to go in wicket 1.5?
Thanks
Mike
> On Fri, Sep 2, 2011 at 11:24 AM, Mike Mander<wi...@gmx.de> wrote:
>> Hi,
>>
>> my usecase: Google caches page urls from our old shop. Because we changed
>> the url layout i have to redirect all page requests to the new page.
>>
>> I did that this way
>> wicket-1.4.18
>>
>> @Override
>> protected void onBeforeRender() {
>> super.onBeforeRender();
>> final String url = RequestCycle.get().urlFor(getRedirectPageClass(),
>> getRedirectPageParameters()).toString();
>> RedirectRequestTarget target = new RedirectRequestTarget(url) {
>> @Override
>> public void respond(RequestCycle requestCycle) {
>> WebResponse response = (WebResponse) requestCycle.getResponse();
>> response.reset();
>>
>> response.getHttpServletResponse().setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
>> response.redirect(url);
>> }
>> };
>> getRequestCycle().setRequestTarget(target);
>> }
>>
>> Until now my wicket 1.5 solution looks like this:
>>
>> @Override
>> protected void onBeforeRender() {
>> super.onBeforeRender();
>> final String url = RequestCycle.get().urlFor(getRedirectPageClass(),
>> getRedirectPageParameters()).toString();
>> RedirectRequestHandler target = new RedirectRequestHandler(url) {
>> @Override
>> public void respond(IRequestCycle requestCycle) {
>> WebResponse response = (WebResponse) requestCycle.getResponse();
>> response.reset();
>> ((HttpServletResponse)
>> response.getContainerResponse()).setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
>> response.redirect(url);
>> ^^^^^^^^^^^^^^^^^^
> org.apache.wicket.request.http.WebResponse.sendRedirect(String)
>> }
>> };
>> getRequestCycle().setRequestTarget(target);
>> ^^^^^^^^^^^^^^^
> org.apache.wicket.request.cycle.RequestCycle.scheduleRequestHandlerAfterCurrent(IRequestHandler)
>> }
>>
>> It is not compiling because of the marked code pieces.
>> I've already checked the migration guide.
>>
>> Thanks for helping me out.
>> Mike
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: [Migration 1.5] How can i redirect to another page with a
configured response?
Posted by Martin Grigorov <mg...@apache.org>.
On Fri, Sep 2, 2011 at 11:24 AM, Mike Mander <wi...@gmx.de> wrote:
> Hi,
>
> my usecase: Google caches page urls from our old shop. Because we changed
> the url layout i have to redirect all page requests to the new page.
>
> I did that this way
> wicket-1.4.18
>
> @Override
> protected void onBeforeRender() {
> super.onBeforeRender();
> final String url = RequestCycle.get().urlFor(getRedirectPageClass(),
> getRedirectPageParameters()).toString();
> RedirectRequestTarget target = new RedirectRequestTarget(url) {
> @Override
> public void respond(RequestCycle requestCycle) {
> WebResponse response = (WebResponse) requestCycle.getResponse();
> response.reset();
>
> response.getHttpServletResponse().setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
> response.redirect(url);
> }
> };
> getRequestCycle().setRequestTarget(target);
> }
>
> Until now my wicket 1.5 solution looks like this:
>
> @Override
> protected void onBeforeRender() {
> super.onBeforeRender();
> final String url = RequestCycle.get().urlFor(getRedirectPageClass(),
> getRedirectPageParameters()).toString();
> RedirectRequestHandler target = new RedirectRequestHandler(url) {
> @Override
> public void respond(IRequestCycle requestCycle) {
> WebResponse response = (WebResponse) requestCycle.getResponse();
> response.reset();
> ((HttpServletResponse)
> response.getContainerResponse()).setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
> response.redirect(url);
> ^^^^^^^^^^^^^^^^^^
org.apache.wicket.request.http.WebResponse.sendRedirect(String)
> }
> };
> getRequestCycle().setRequestTarget(target);
> ^^^^^^^^^^^^^^^
org.apache.wicket.request.cycle.RequestCycle.scheduleRequestHandlerAfterCurrent(IRequestHandler)
> }
>
> It is not compiling because of the marked code pieces.
> I've already checked the migration guide.
>
> Thanks for helping me out.
> Mike
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
--
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org