The first solution that comes in my mind is to overwrite method onComponentTagBody. Maybe this could work :

add(new Link("helloMessage"){
    @Override
protected void onComponentTagBody(MarkupStream markupStream, ComponentTag tag) {
             getResponse().write("<span ...></span><span>");
            //write the default body
            super.onComponentTagBody(markupStream, tag);

            getResponse().write("</span>");
    }
});


Hi,

what would be the best way to modify the HTML output of a component?

Consider this:

<a wicket:id="...">Text</a>

which is backed by a Link component. By adding a behavior (I would
assume), I would like to modify this HTML to become sth like

<a ...><span ...></span><span>Text</span></a>

Please note that I want to preserve the componentTagBody.

I know how to change the tag, add an attribute, and found code to
generate something _after_ the tag (DatePicker), and for that matter,
probably also before the tag, but nothing so far to change the tags
(hierarchy) in between.

Is there a Wicket way to do that, do I have to resort to JavaScript, or
am I plainly overworked and should never try something like that anyway?

Thanks, bye
     Stefan


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to