Hm - I'm doing something wrong, then. The BaseClass.html does not have a <wicket:child> in it, and I do get that second error message:
Caused by: org.apache.wicket.WicketRuntimeException: Expected to find <wicket:child/> in base markup This is wicket 1.4.6. If I turn on debug, I do get this just before the MarkupNotFoundException exception: -DEBUG::26 Jan 2011 08:46:58.964::org.apache.wicket.markup.MergedMarkup: Merge markup: derived markup: DerivedClass1.html; base markup: BaseClass.html but never get the list of all filenames tried. I'll try a simple test case and see if I can spot anything. Thanks for the speedy reply, DC. Igor Vaynberg-2 wrote: > > if your DerivedClass1.java does not have markup and your > BaseClass.html does not have a wicket:child tag then DerivedClass1 > will use BaseClass' markup. so it should already work as you want, > just remove wicket:child tag. > > -igor > > > On Wed, Jan 26, 2011 at 9:13 AM, DCarr <[email protected]> wrote: >> 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 ) >> 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] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Re-Class-only-inheritance-tp3238455p3238625.html Sent from the Users forum mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
