A very good lesson learned. Thanks to Per and Martijn very much.. 2008/5/3 Martijn Dashorst <[EMAIL PROTECTED]>:
> You can nest models and use a model as the value for a PropertyModel. > A PropertyModel knows how to cope with null values as it will return a > null. Components and the label component in particular will render an > empty string when the model value was found to be null. > > So nest or chain your model inside PropertyModels: > > add(new Label("xxx", new PropertyModel(model, "fieldX"))); > add(new Label("yyy", new PropertyModel(model, "fieldY"))); > > Read the model documentation on the wiki [1]. Try to understand it and > commit it to your brain. Print the page, and put it under your pillow > at night. Read it while on the toilet, pin it to the side of your > monitor, stick it to your rear view mirror, print it on transparent > foil and stick it to the inside of your glasses. > > Martijn > > [1] > http://cwiki.apache.org/WICKET/working-with-wicket-models.html#WorkingwithWicketmodels-Chainingmodels > > On 5/2/08, smallufo <[EMAIL PROTECTED]> wrote: > > Yes . > > > > In the WebPage , I add MyPanel like this : > > > > myPanel = new MyPanel("myPanel" , new PropertyModel(this , "myobj")); > > > > myPanel.setVisible(false); > > myPanel.setOutputMarkupPlaceholderTag(true); > > add(myPanel); > > > > > > And in the MyPanel : > > > > public class MyPanel extends Panel > > { > > private MyObj myObj; > > > > public MyPanel(String id , IModel model) > > { > > super(id); > > this.myObj = (MyObj) model.getObject(); > > > > add(new Label("xxx" , myObj.getFieldX.toString())); > > add(new Label("yyy" , myObj.getFieldY.toString())); > > > > } > > } > > > > Because myObj passed to MyPanel is initially null , > > In the MyPanel construction time , myObj.getFieldX , myObj.getFieldY > will > > throw NPEs here... > > > > I don't know how to solve it ..... > > > > > > > > 2008/5/2 Per Newgro <[EMAIL PROTECTED]>: > > > > > > > The code you provided should work. The NPEs comes from within the > Panel? > > > So > > > can you give us an example how you access the model in the panel > (with an > > > NPE > > > throwing component)? > > > > > > Cheers > > > Per > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > -- > Buy Wicket in Action: http://manning.com/dashorst > Apache Wicket 1.3.3 is released > Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.3 > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >