Hi , thanks
I tried , but NPE is still thrown , with the same stacktrace...
Is there anything I missed ?

Here is my border's HTML :

<div wicket:id="content">
  <wicket:body/>
</div>

border's java code :

    content = new WebMarkupContainer("content");

    content.setOutputMarkupPlaceholderTag(true);
    content.setVisible(defaultExpanded);
    content.setRenderBodyOnly(false);
    add(content);
    content.add(getBodyContainer());

and the ajax link's onClick() :

Link<Void> collapseExpandLink = new
AjaxFallbackLink<Void>("collapseExpandLink")
{
  @Override
  public void onClick(AjaxRequestTarget target)
  {
    expanded=!expanded;
    content.setVisible(expanded);
    target.addComponent(content);
  }
};
add(collapseExpandLink);




2010/11/12 Igor Vaynberg <[email protected]>

> s/border.add(commentsView);/border.getbodycontainer().add(commentsView);/
>
> On Thu, Nov 11, 2010 at 1:42 PM, smallufo <[email protected]> wrote:
> > Hi , I have a simple panel , with a border and a listView :
> >
> > <span wicket:id="border">
> >  <wicket:container wicket:id="commentsView">
> >    <div>
> >      //comment layout
> >    </div>
> >  </wicket:container>
> > </span>
> >
> > And the code :
> >
> > add(border);
> > ListView<Comment> commentsView = new ListView<Comment>("commentsView" ,
> new
> > LoadableDetachableModel<List<Comment>>()
> > {
> >  @Override
> >  protected List<Comment> load() {
> >    return commentDao.getComments(0 , 10);
> >  }
> > })
> > {
> >  @Override
> >  protected void populateItem(ListItem<Comment> item) {
> >    //comment layout
> >  }
> > };
> > border.add(commentsView);
> > commentsView.setReuseItems(false);
> >
> > The Panel has a border , with a clickable button , can be used to
> > collapse/expand the content of the border with AJAX.
> > Here is my steps :
> >
> > 1. I first collapse the panel .
> > 2. Then open another browser panel , add a comment. (the underlaying data
> > model is changed)
> > 3. Back to the original panel , expand the panel ...
> >
> > And I got a NPE :
> >
> > 2010-11-12 05:19:12,661 ERROR wicket.RequestCycle - Exception in
> rendering
> > component: [MarkupContainer [Component id = _body]]
> > org.apache.wicket.WicketRuntimeException: Exception in rendering
> component:
> > [MarkupContainer [Component id = _body]]
> >        at
> org.apache.wicket.Component.renderComponent(Component.java:2725)
> >        at
> > org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1538)
> >        at org.apache.wicket.Component.render(Component.java:2517)
> >        at
> > org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1440)
> >        at
> >
> org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1603)
> >        at
> >
> org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1527)
> >        at
> org.apache.wicket.Component.renderComponent(Component.java:2686)
> >        at
> > org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1538)
> >
> > ...
> >
> > Caused by: java.lang.NullPointerException
> >        at
> >
> org.apache.wicket.markup.html.border.Border$BorderBodyContainer.onComponentTagBody(Border.java:375)
> >        at
> org.apache.wicket.Component.renderComponent(Component.java:2686)
> >        ... 45 more
> >
> > Can anybody tell me where goes wrong ? Thanks.
> > Wicket 1.4.13
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to