我得到了 2 个具有完全相同列的数据表。唯一的区别是一个数据表获得了过滤数据。现在我只使用 IF 语句显示一个数据表。是否有一种更短的方法可以让我使用像 1 个数据表这样的数据表,如果它知道要使用哪个列表,我可以在其中放置某种 IF 语句?
有谁知道如何将这些数据表放在一起?
这是我的代码的一部分,所以你会更好地理解我的意思:
(顺便说一句:两个数据表之间的唯一区别是 if 语句)
<c:if test="#{destinationController.selectedCountry != null and destinationController.selectedDestination == null}">
<h:dataTable value="#{destinationController.listTripsByCountry}" var="trip" rendered="#{destinationController.selectedCountry != null}">
<h:column>
<f:facet name="header">#{bundle.startdate}</f:facet>
<h:outputText value="#{trip.beginUur}">
<f:convertDateTime pattern="h:mm" />
</h:outputText>
<h:outputText value="#{trip.beginDatum}">
<f:convertDateTime pattern=" d MMM yyyy" />
</h:outputText>
</h:column>
<h:column>
<f:facet name="header">#{bundle.enddate}</f:facet>
<h:outputText value="#{trip.eindUur}">
<f:convertDateTime pattern="h:mm" />
</h:outputText>
<h:outputText value="#{trip.eindDatum}">
<f:convertDateTime pattern=" d MMM yyyy" />
</h:outputText>
</h:column>
</h:dataTable>
</c:if>
<c:if test="#{destinationController.selectedCountry != null and destinationController.selectedDestination != null}">
<h:dataTable value="#{destinationController.listTripsByDestination}" var="trip" rendered="#{destinationController.selectedCountry != null}"
>
<h:column>
<f:facet name="header">#{bundle.startdate}</f:facet>
<h:outputText value="#{trip.beginUur}">
<f:convertDateTime pattern="h:mm" />
</h:outputText>
<h:outputText value="#{trip.beginDatum}">
<f:convertDateTime pattern=" d MMM yyyy" />
</h:outputText>
</h:column>
<h:column>
<f:facet name="header">#{bundle.enddate}</f:facet>
<h:outputText value="#{trip.eindUur}">
<f:convertDateTime pattern="h:mm" />
</h:outputText>
<h:outputText value="#{trip.eindDatum}">
<f:convertDateTime pattern=" d MMM yyyy" />
</h:outputText>
</h:column>
</h:dataTable>
</c:if>