首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅当bean返回列表时才呈现数据表

仅当bean返回列表时才呈现数据表
EN

Stack Overflow用户
提问于 2013-07-29 21:33:12
回答 3查看 375关注 0票数 0

我一直在尝试呈现一个rich:dataTable,但在条件呈现方面失败了。我只想在列表大小大于零的情况下呈现它。

我使用的是JSF-2.0、RichFaces-4。

EN

回答 3

Stack Overflow用户

发布于 2013-07-29 21:46:02

您必须使用datatable的"render“属性。使用它,您可以定义是否将组件呈现给客户端。因此,如果列表已填充,请按EL进行检查。

你可以这样做:

代码语言:javascript
复制
rendered="#{not empty listObject}"

一切都很好。我总是将我的数据库查询方法实现为从不返回null,如果查询没有结果,我将返回一个空列表。通过这种方式,我确信我永远不会得到nullpointerexception,因此我更喜欢显示一个空表。因为当您确定表始终存在时,布局页面会更容易。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2013-07-30 00:33:51

场景是,我有一个右键单击的groupId。在上下文菜单上,我选择显示CTN,然后它将在数据表中呈现此组的所有CTN。它从一个JavaScript调用开始,一旦我选择了“显示CTN”,我就会调用它。它负责向a4j:jsFunction提供GroupId。

代码语言:javascript
复制
<rich:dataTable value="#{ctnGrpMgmtController.ctnDetailsList}"
                                    var="ctnVar" id="ctnTable" rows="5"
                                    rendered="#{not empty ctnDetailsList}">

上面的代码应该在下面的a4j:jsFunction执行之后呈现。

代码语言:javascript
复制
  <a4j:jsFunction name="selectGroupForManagingCtns"
                                        action="#{ctnGrpMgmtController.loadCTNsForAGroup}"
                                        render="ctnListPanel,ctnTable">
                                        <a4j:param name="name"
                                            assignTo="#{ctnGrpMgmtController.groupId}" />
</a4j:jsFunction>

我必须执行F5才能看到组件"ctnTable",这就是问题的开始。

票数 0
EN

Stack Overflow用户

发布于 2013-07-31 17:37:39

看起来a4j:jsFunction上的属性名是reRender而不只是render。应该能修好它。

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

https://stackoverflow.com/questions/17925478

复制
相关文章

相似问题

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