You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Mansour Al Akeel <ma...@gmail.com> on 2012/08/21 08:10:29 UTC
Navigation bar links
I am looking to produce the following mark up:
<ul>
<li><a href="/">Home</a></li>
<li class="current"> About</li>
<li><a href="contact>Contact us</a></li>
<ul>
the problem is I can not add <a> conditionally to <li>. I am using ListView
to populate the Items.
Can someone give me a hint about how to achieve this ??
Thank you in advance.
Re: Navigation bar links
Posted by Martin Grigorov <mg...@apache.org>.
See org.apache.wicket.markup.html.link.BookmarkablePageLink#linksTo(Page).
if (link.linksTo(getPage()) {
link.setEnable(false);
}
On Tue, Aug 21, 2012 at 7:54 PM, Mansour Al Akeel
<ma...@gmail.com> wrote:
> Thank you a lot.
> Both methods did the trick. One last question in the same context. This is
> the code I am working with:
>
> list.add(new BookmarkablePageLink<WebPage>("link", HomePage.class));
> list.add(new BookmarkablePageLink<WebPage>("link", About.class));
> list.add(new BookmarkablePageLink<WebPage>("link",
> ContactUs.class));
>
> @SuppressWarnings("unchecked")
> ListView listview = new ListView("listview", list) {
> protected void populateItem(ListItem item) {
>
> BookmarkablePageLink<WebPage> lnk =
> (BookmarkablePageLink<WebPage>) item
> .getModelObject();
> String requestedUrl = getRequest().getUrl().getPath();
>
> String linkUrl = getRequestCycle().urlFor(
> lnk.getPageClass() , new PageParameters()).toString().substring(2);
>
> logger.debug("requested : " + requestedUrl);
> logger.debug("current link : " + linkUrl);
>
> Label label = new Label("lbl", lnk.getId());
>
> lnk.add(label);
> item.add(lnk);
>
> if (linkUrl.equals(requestedUrl)) {
> logger.debug("matched link with requested url");
> // lnk.setRenderBodyOnly(true);
> lnk.setEnabled(false);
> }
> }
> };
> add(listview);
>
> I am trying to compare the requested URL to the link url. I need to obtain
> the link url. It's no clear to me how to do it in clean way.
> I am using:
> String linkUrl = getRequestCycle().urlFor(
> lnk.getPageClass() , new PageParameters()).toString().substring(2);
> This introduced a problem. It works fine if the page is mounted on some
> path. But if the link url is something like:
>
> wicket/bookmarkable/com.example.MyPage
>
> Then it breaks. Is there a better way to obtain the url for each link ??
>
> Thank you.
>
>
>
> On Tue, Aug 21, 2012 at 2:55 AM, Martin Grigorov <mg...@apache.org>wrote:
>
>> Or you can do link.setRenderBodyOnly(true);
>>
>> On Tue, Aug 21, 2012 at 9:30 AM, Sven Meier <sv...@meiers.net> wrote:
>> > You can use a disabled link, which will render as a <span>.
>> >
>> > Sven
>> >
>> >
>> > On 08/21/2012 08:10 AM, Mansour Al Akeel wrote:
>> >>
>> >> I am looking to produce the following mark up:
>> >> <ul>
>> >> <li><a href="/">Home</a></li>
>> >> <li class="current"> About</li>
>> >> <li><a href="contact>Contact us</a></li>
>> >> <ul>
>> >>
>> >> the problem is I can not add <a> conditionally to <li>. I am using
>> >> ListView
>> >> to populate the Items.
>> >> Can someone give me a hint about how to achieve this ??
>> >>
>> >> Thank you in advance.
>> >>
>> >
>> >
>> > ---------------------------------------------------------------------
>> > 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
>>
>>
--
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
Re: Navigation bar links
Posted by Mansour Al Akeel <ma...@gmail.com>.
Thank you a lot.
Both methods did the trick. One last question in the same context. This is
the code I am working with:
list.add(new BookmarkablePageLink<WebPage>("link", HomePage.class));
list.add(new BookmarkablePageLink<WebPage>("link", About.class));
list.add(new BookmarkablePageLink<WebPage>("link",
ContactUs.class));
@SuppressWarnings("unchecked")
ListView listview = new ListView("listview", list) {
protected void populateItem(ListItem item) {
BookmarkablePageLink<WebPage> lnk =
(BookmarkablePageLink<WebPage>) item
.getModelObject();
String requestedUrl = getRequest().getUrl().getPath();
String linkUrl = getRequestCycle().urlFor(
lnk.getPageClass() , new PageParameters()).toString().substring(2);
logger.debug("requested : " + requestedUrl);
logger.debug("current link : " + linkUrl);
Label label = new Label("lbl", lnk.getId());
lnk.add(label);
item.add(lnk);
if (linkUrl.equals(requestedUrl)) {
logger.debug("matched link with requested url");
// lnk.setRenderBodyOnly(true);
lnk.setEnabled(false);
}
}
};
add(listview);
I am trying to compare the requested URL to the link url. I need to obtain
the link url. It's no clear to me how to do it in clean way.
I am using:
String linkUrl = getRequestCycle().urlFor(
lnk.getPageClass() , new PageParameters()).toString().substring(2);
This introduced a problem. It works fine if the page is mounted on some
path. But if the link url is something like:
wicket/bookmarkable/com.example.MyPage
Then it breaks. Is there a better way to obtain the url for each link ??
Thank you.
On Tue, Aug 21, 2012 at 2:55 AM, Martin Grigorov <mg...@apache.org>wrote:
> Or you can do link.setRenderBodyOnly(true);
>
> On Tue, Aug 21, 2012 at 9:30 AM, Sven Meier <sv...@meiers.net> wrote:
> > You can use a disabled link, which will render as a <span>.
> >
> > Sven
> >
> >
> > On 08/21/2012 08:10 AM, Mansour Al Akeel wrote:
> >>
> >> I am looking to produce the following mark up:
> >> <ul>
> >> <li><a href="/">Home</a></li>
> >> <li class="current"> About</li>
> >> <li><a href="contact>Contact us</a></li>
> >> <ul>
> >>
> >> the problem is I can not add <a> conditionally to <li>. I am using
> >> ListView
> >> to populate the Items.
> >> Can someone give me a hint about how to achieve this ??
> >>
> >> Thank you in advance.
> >>
> >
> >
> > ---------------------------------------------------------------------
> > 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
>
>
Re: Navigation bar links
Posted by Martin Grigorov <mg...@apache.org>.
Or you can do link.setRenderBodyOnly(true);
On Tue, Aug 21, 2012 at 9:30 AM, Sven Meier <sv...@meiers.net> wrote:
> You can use a disabled link, which will render as a <span>.
>
> Sven
>
>
> On 08/21/2012 08:10 AM, Mansour Al Akeel wrote:
>>
>> I am looking to produce the following mark up:
>> <ul>
>> <li><a href="/">Home</a></li>
>> <li class="current"> About</li>
>> <li><a href="contact>Contact us</a></li>
>> <ul>
>>
>> the problem is I can not add <a> conditionally to <li>. I am using
>> ListView
>> to populate the Items.
>> Can someone give me a hint about how to achieve this ??
>>
>> Thank you in advance.
>>
>
>
> ---------------------------------------------------------------------
> 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
Re: Navigation bar links
Posted by Sven Meier <sv...@meiers.net>.
You can use a disabled link, which will render as a <span>.
Sven
On 08/21/2012 08:10 AM, Mansour Al Akeel wrote:
> I am looking to produce the following mark up:
> <ul>
> <li><a href="/">Home</a></li>
> <li class="current"> About</li>
> <li><a href="contact>Contact us</a></li>
> <ul>
>
> the problem is I can not add <a> conditionally to <li>. I am using ListView
> to populate the Items.
> Can someone give me a hint about how to achieve this ??
>
> Thank you in advance.
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org