2013-02-20 62 views
1

我有一個包含屬性的bean列表。我正在構建2個子列表來查看它們中的內容並傳遞給頁面。檢查一個列表是否有全部的空值

我需要做一個檢查,看看是否在任2組表的所有的值都爲空

的Java:

beans = dao.getResourceExpended(filter); 
List<BigDecimal> scheduledBeans = new ArrayList<BigDecimal>(); 
List<BigDecimal> realBeans = new ArrayList<BigDecimal>(); 
for (ResourceBean f : beans) 
{ 
    scheduledBeans.add(f.getScheduledResource()); 
    realBeans.add(f.getRealResource()); 
} 

request.setAttribute("scheduledBeans", scheduledBeans); 
request.setAttribute("realBeans", realBeans); 

JSTL:

<c:choose> 
    <c:when test="${empty scheduledBeans}"> 
     alert("scheduledBeans Empty"); 
    </c:when> 
    <c:when test="${empty realBeans}"> 
     alert("realBeans Empty"); 
    </c:when> 
</c:choose> 

「選擇」 以上不起作用,因爲值返回爲:

alert("scheduledBeans =" + scheduledBeans); 
alert("realBeans =" + realBeans); 
  • scheduledBeans = [null, null, null]
  • realBeans = [null, null, null]
+0

顯示代碼,您將這兩個數組設置爲請求或進入會話 – 2013-02-20 17:08:11

+0

剛剛更新....... – 2013-02-20 17:14:26

回答

1

只是不添加null值到列表中。

通過

if (f.getScheduledResource() != null) { 
    gescheduledBeans.add(f.getScheduledResource()); 
} 
if (f.getRealResource() != null) { 
    realBeans.add(f.getRealResource()); 
} 

更換

scheduledBeans.add(f.getScheduledResource()); 
realBeans.add(f.getRealResource()); 

如果他們都是null,那麼清單是空的,然後empty測試將通過。

+0

感謝BalusC ...由於某種原因,我正在過度想我在做什麼.... – 2013-02-20 21:12:49