On 5/31/07, Lowell Kirsh <[EMAIL PROTECTED]> wrote:
> My use case is actually turning out slightly more complex than I
> posted. What I actually have is:
>
> <span wicket:id="foo">TEXT<span wicket:id="star">*</span><span>
>
> and I'd like to sometimes remove the star. So my java (which doesn't
> work) looks like:
>
>    private static class LabelWithStar extends WebMarkupContainer
>     {
>         public LabelWithStar(String id, String model, final boolean
> starIsVisible)
>         {
>             super(id, new Model(model));
>             this.add(new WebMarkupContainer("star") {
>                 public boolean isVisible()
>                 {
>                     return starIsVisible;
>                 }
>             });
>         }
>
>         protected void onComponentTagBody(MarkupStream markupStream,
> ComponentTag openTag)
>         {
>             replaceComponentTagBody(markupStream, openTag,
> getModelObjectAsString());
>         }
>     }
>
> This doesn't work because the call to replaceComponentTagBody()
> removes the span with the star. How should I be doing this instead?

You mean you need to have the span? Why is that?

Alternatively, you can do something like

add(new Label("star", new AbstractReadOnlyModel() {

        @Override
        public Object getObject() {
                return isStarVisible() ? "*" : "";
                }
        }));
}


Eelco

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to