Any component defined within the "script" area seems to be ignored by
wicket
Weird. That sounds like a bug to me.
Anyway, your solution seems robust enough to me.
Regards,
Erik.
Jürgen Lind wrote:
Hi Erik,
thank you for the suggestion. I tried that already and it did not
work. Any
component defined within the "script" area seems to be ignored by
wicket, i.e.
when I define the label in the Java code, I get an error message
stating that
the component was not declared in the markup file... What I am
currently using
is the following code:
protected void onRender(MarkupStream markupStream) {
super.onRender(markupStream);
final MarkupStream associatedMarkupStream =
getAssociatedMarkupStream(true);
MarkupElement element = associatedMarkupStream.get(2);
getResponse().write(this.replaceParameters(element.toString()));
}
The problem here is, that I know that the markup element I want is at
the second
position. However, this is not very robust ;-)
Cheers,
J.
Erik van Oosten wrote:
Hello Jürgen,
You coulld put a <span> in the markup and add a Label to it. Don't
forget to call setRenderBodyOnly(true) on the label.
Regards,
Erik.
Jürgen Lind wrote:
Hi,
I was wondering if there is some way to rewrite the component markup
before
it is rendered. My setting is as follows:
1. I have a component markup file like this
<wicket:panel>
<script type="text/javascript">
someFunction( "runtime parameter" );
</script>
</wicket:panel>
2. The matching component overrides "onComponentTagBody" and "onRender"
protected final void onComponentTagBody(final MarkupStream
markupStream,
final ComponentTag openTag) {
checkComponentTag(openTag, "textarea");
replaceComponentTagBody(markupStream, openTag, getValue());
}
protected void onRender(MarkupStream markupStream) {
super.onRender(markupStream);
super.renderAssociatedMarkup("panel", "Some error");
}
Now, what I would like to do is to change the value for the "runtime
parameter"
in the onRender Method and replace it with a value that has been
given to the
component when the component was constructed.
Is there any way to achieve this?
Regards,
J.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]