Hi,
Is it possible to have class inheritance without markup inheritance?
I would like a wicket-aware base class (with an associated markup
file) with derived classes supplying data (e.g.. BaseClass with an
'abstract protected String getName()') and no markup files (or XML
files). I know how to do that if the derived classes have markup and
the base class markup has <wicket:child>, but cannot not figure out if
it can be done without the child markup.
So:
BaseClass.java (with abstract protected String getName(), and
add(new Label("name", getName()));)
BaseClass.html (with a <span wicket:id="name"></span>)
BaseClass.xml
and the derived classes which extend BaseClass:
DerivedClass1.java (with protected String getName() { return
"Class1";})
DerivedClass2.java (with protected String getName() { return
"Class2";})
Currently, Wicket is trying to apply markup inheritance, but since
I don't have the markup for the derived classes I get:
org.apache.wicket.markup.MarkupNotFoundException: Markup of type 'html'
for component 'com.xxxxx.DerivedClass1' not found. Enable debug messages
for org.apache.wicket.util.resource to get a list of all filenames tried:
and
Caused by: org.apache.wicket.WicketRuntimeException: Expected to find
<wicket:child/> in base markup
As a work around I can create a data supplier interface, implement
the equivalent of the two derived classes and pass those in to my
BaseClass, but the derived classes are simpler.
Thanks,
DC
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]