首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wicket嵌套片段

Wicket嵌套片段
EN

Stack Overflow用户
提问于 2012-05-29 20:56:04
回答 1查看 980关注 0票数 0

我正在尝试将一个片段嵌套到另一个片段中。一个列表视图填充了父片段(这是可行的),现在我希望在某些情况下,第二个片段嵌套在第一个片段中。下面是我用来填充列表视图的代码:

代码语言:javascript
复制
@Override
protected void populateItem(final Item<Message> item) {
    Message msg = item.getModelObject();
    MessageFragment msgFragment = new MessageFragment("entry", "messageFragment", this, msg);
    WebMarkupContainer msgRatingContainer = new WebMarkupContainer("messageRatingContainer");
    msgRatingContainer.setVisible(false);
    if(msg.getType() == MessageType.RESERVATION){
        msgRatingContainer.add(new MessageRatingFragment("messageRatingContainer", "messageRatingFragment",this, msg));                 
        msgRatingContainer.setVisible(true);
    }
    msgFragment.add(msgRatingContainer);
    item.add(msgFragment);
}

涉及到的标记:

代码语言:javascript
复制
<li wicket:id="listView"><div wicket:id="entry"></div></li>
<wicket:fragment wicket:id="messageFragment">
    <div class="MessageAlert">
        My Parent fragment content
    </div>
    <div  wicket:id="messageRatingContainer"></div>
    <wicket:fragment wicket:id="messageRatingFragment">
        My nested fragment content
    </wicket:fragment>
</wicket:fragment>

如果我没有任何嵌套片段( If条件为false),UI将按预期呈现,如果条件为true,我将收到以下错误:

代码语言:javascript
复制
org.apache.wicket.WicketRuntimeException: The component(s) below failed to render. A common problem is that you have added a component in code but forgot to reference it in the markup (thus the component will never be rendered).
1. [MarkupContainer [Component id = messageRatingContainer]]
2. [MarkupContainer [Component id = messageRatingContainer]]

我认为这与组件层次结构有关,但我找不出哪种方式是正确的。

EN

回答 1

Stack Overflow用户

发布于 2012-05-30 02:09:48

问题似乎是,如果使用msg.getType() != MessageType.RESERVATION,则不需要在id messageRatingContainer下添加任何内容。

您应该始终添加它,然后根据您是否希望呈现它来调用带有true和false的setVisible()

顺便说一句,从上面的代码片段中,我根本看不出使用片段的必要性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10799634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档