我正在修复已经开发的应用程序中的错误,我是jsp的新手。 所以我不知道这个问题。
这是.jsp文件中的代码
<tr:panelGroupLayout partialTriggers="deleteFeaturePointId updateFP OnsearchFeatures onClearFields">
<tr:panelBox contentStyle="overflow:auto;width:950px;height:200px;color:#FFFFFF;" >
<tr:treeTable emptyText="No Record Found" value="#{featurePointBean.model}"
styleClass="grid_hdg_txt" var="foo"
inlineStyle="text-align:left;" expandAllEnabled="false"
initiallyExpanded="true" binding="#{featurePointBean.featurePointTableId}"
rowBandingInterval="1" width="100%" rootNodeRendered="false"
verticalGridVisible="false"
partialTriggers="updateFP OnsearchFeatures onClearFields"
autoSubmit="true" immediate="true" >
但问题是当表组件处于null时,它应该显示“No records found”消息。但它没有展示任何这样的东西并给出一张空桌子。那么我无法理解的问题是什么呢。 有什么建议可以做什么?
输出就像屏幕下方
答案 0 :(得分:0)
问题在于,后台中的表不是空的,因为在其各自的bean类中,一个空的DTO被添加到treetable中。 它只需要进行空检查以避免将这个空DTO添加到树表中。 这就是我改变代码的方式,并且运行良好。
imageGroupNameDropList = featurePointDAO.getAvailableImageGroups(installId);
if(imageGroupNameDropList.size()!=0)
{
availableFeaturePoints = featurePointDAO.searchFeaturePoints("",
"", getUserId(), getInstallId());
TreeNodeBean imageGroups = _createNode("Image Group Names");
root.add(0, imageGroups);
ArrayList<TreeNodeBean> featurePointNodes = new ArrayList<TreeNodeBean>();
ArrayList<TreeNodeBean> imageGroupNodes = new ArrayList<TreeNodeBean>()...
>
>
>...
for (FeaturePointDTO featurePointDTO : entry.getValue()) {
TreeNodeBean featurePoints = _createNode(
featurePointDTO.getImageGroupName(),
featurePointDTO);
featurePointNodes.add(featurePoints);
}
imageGroupName.setChildren(featurePointNodes);
}