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]
>
>