まったく同じ列を持つ2つのデータテーブルを取得しました。唯一の違いは、1 つのデータテーブルがフィルター処理されたデータを取得したことです。現在、IF ステートメントを使用してデータテーブルを 1 つだけ表示しています。使用するリストがわかっている場合、何らかのIFステートメントを配置できる1つのデータテーブルのように使用できる短い方法はありませんか?
これらのデータテーブルをまとめる方法を知っている人はいますか?
これは私のコードの一部なので、私が何を意味するかをよりよく理解できるでしょう:
(ところで: 2 つのデータテーブルの唯一の違いは 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>