You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Matthew Welch <ma...@welchkin.net> on 2009/04/05 05:38:08 UTC

setResponsePage() and mounted URLs

My mounted pages work perfectly when I use a BookmarkablePageLink to them,
however I am having difficulty when I try to use setResponsePage() to those
same pages. Here's a snipped that I pulled from a Quickstart I'm using to
figure out where I'm going wrong:

        setStatelessHint(true);

        add(new StatelessLink("statelessPage1") {
            public void onClick() {
                setResponsePage(StatelessPage1.class);
            }
        });

        add(new BookmarkablePageLink("statelessPage1-2",
StatelessPage1.class));


The second link produces a nice clean link URL like "
http://localhost:8080/statelessapp/stateless1", however the first produces a
much less desirable "
http://localhost:8080/statelessapp/?wicket:bookmarkablePage=:com.mycompany.HomePage&wicket:interface=:0:statelessPage1::ILinkListener:
:".

In this simplified example I could clearly use a BookmarkablePageLink in
both situations, however in my real app the logic to determine where a
particualr link needs to go a is occassional conditional so I end up with
something like:

        add(new StatelessLink("statelessPage1") {
            public void onClick() {
                if(somethingIsTrue){
                    setResponsePage(StatelessPage1.class);
                }else{
                    setResponsePage(StatelessPage2.class);
                }
            }
        });

Can someone put me on the right path to using mounted URLs with
setResponsePage()?

Matt

Re: setResponsePage() and mounted URLs

Posted by Igor Vaynberg <ig...@gmail.com>.
statelesslink is just like link - it produces a callback url. for your
situation you may be able to use externallink and provide it a model
that can dynamically build a bookmarkable url that you need. to build
the url just call urlfor(pageclass, pageparams) on any component.

-igor

On Sat, Apr 4, 2009 at 8:38 PM, Matthew Welch <ma...@welchkin.net> wrote:
> My mounted pages work perfectly when I use a BookmarkablePageLink to them,
> however I am having difficulty when I try to use setResponsePage() to those
> same pages. Here's a snipped that I pulled from a Quickstart I'm using to
> figure out where I'm going wrong:
>
>        setStatelessHint(true);
>
>        add(new StatelessLink("statelessPage1") {
>            public void onClick() {
>                setResponsePage(StatelessPage1.class);
>            }
>        });
>
>        add(new BookmarkablePageLink("statelessPage1-2",
> StatelessPage1.class));
>
>
> The second link produces a nice clean link URL like "
> http://localhost:8080/statelessapp/stateless1", however the first produces a
> much less desirable "
> http://localhost:8080/statelessapp/?wicket:bookmarkablePage=:com.mycompany.HomePage&wicket:interface=:0:statelessPage1::ILinkListener:
> :".
>
> In this simplified example I could clearly use a BookmarkablePageLink in
> both situations, however in my real app the logic to determine where a
> particualr link needs to go a is occassional conditional so I end up with
> something like:
>
>        add(new StatelessLink("statelessPage1") {
>            public void onClick() {
>                if(somethingIsTrue){
>                    setResponsePage(StatelessPage1.class);
>                }else{
>                    setResponsePage(StatelessPage2.class);
>                }
>            }
>        });
>
> Can someone put me on the right path to using mounted URLs with
> setResponsePage()?
>
> Matt
>

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


Re: setResponsePage() and mounted URLs

Posted by Matt Welch <ma...@welchkin.net>.

jcompagner-2 wrote:
> 
> what happens if you try this:
> 
> add(new StatelessLink("statelessPage1"
>>
>> ) {
>>            public void onClick() {
>>                setResponsePage(StatelessPage1.class);
> 
> RequestCycle.get().setRedirect(true)
> 
>>
>>            }
> 
While the link on the original page is still the long version, once it is
clicked I do end up on page with the nicely mounted URL. Thanks!

Are there any gotchas I need to look out for when using this approach?

Matt
-- 
View this message in context: http://www.nabble.com/setResponsePage%28%29-and-mounted-URLs-tp22890145p22901802.html
Sent from the Wicket - User mailing list archive at Nabble.com.


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


Re: setResponsePage() and mounted URLs

Posted by Johan Compagner <jc...@gmail.com>.
what happens if you try this:

add(new StatelessLink("statelessPage1"
>
> ) {
>            public void onClick() {
>                setResponsePage(StatelessPage1.class);

RequestCycle.get().setRedirect(true)

>
>            }



johan

On Sun, Apr 5, 2009 at 05:38, Matthew Welch <ma...@welchkin.net> wrote:

> My mounted pages work perfectly when I use a BookmarkablePageLink to them,
> however I am having difficulty when I try to use setResponsePage() to those
> same pages. Here's a snipped that I pulled from a Quickstart I'm using to
> figure out where I'm going wrong:
>
>        setStatelessHint(true);
>
>        add(new StatelessLink("statelessPage1") {
>            public void onClick() {
>                setResponsePage(StatelessPage1.class);
>            }
>        });
>
>        add(new BookmarkablePageLink("statelessPage1-2",
> StatelessPage1.class));
>
>
> The second link produces a nice clean link URL like "
> http://localhost:8080/statelessapp/stateless1", however the first produces
> a
> much less desirable "
>
> http://localhost:8080/statelessapp/?wicket:bookmarkablePage=:com.mycompany.HomePage&wicket:interface=:0:statelessPage1::ILinkListener
> :
> :".
>
> In this simplified example I could clearly use a BookmarkablePageLink in
> both situations, however in my real app the logic to determine where a
> particualr link needs to go a is occassional conditional so I end up with
> something like:
>
>        add(new StatelessLink("statelessPage1") {
>            public void onClick() {
>                if(somethingIsTrue){
>                    setResponsePage(StatelessPage1.class);
>                }else{
>                    setResponsePage(StatelessPage2.class);
>                }
>            }
>        });
>
> Can someone put me on the right path to using mounted URLs with
> setResponsePage()?
>
> Matt
>