2015-10-05 84 views
0

我目前正在製作一個有8列的表格。首先,我檢查值是否爲空,如果不爲空,則寫出列的列標題(例如:「First Name:」)。接下來,我遍歷一個列表,並使用適當的值填充每列,如果它不爲空。我的問題是列標題(在下面的代碼中的註釋之間)不打印,而表中的實際數據打印。誰能幫我?jsp頁面不顯示錶格列標題

<table style="width: 100%"> 
    <c:choose> 
     <c:when test="${empty serviceRequests}"> 
     </c:when> 
     <c:otherwise> 
      <tr>     //DOES NOT PRINT STARTING FROM HERE 
       <td><c:choose> 
         <c:when test="${empty serviceRequestData['ID']}"></c:when> 
         <c:otherwise> 
          <u>ID:</u> 
         </c:otherwise> 
        </c:choose></td> 
       <td><c:choose> 
         <c:when test="${empty serviceRequestData['FN_Contact']}"></c:when> 
         <c:otherwise> 
          <u>First Name:</u> 
         </c:otherwise> 
        </c:choose></td> 
       <td><c:choose> 
         <c:when test="${empty serviceRequestData['LN_Contact']}"></c:when> 
         <c:otherwise> 
          <u>Last Name:</u> 
         </c:otherwise> 
        </c:choose></td> 
       <td><c:choose> 
         <c:when test="${empty serviceRequestData['Email']}"></c:when> 
         <c:otherwise> 
          <u>Email:</u> 
         </c:otherwise> 
        </c:choose></td> 
       <td><c:choose> 
         <c:when test="${empty serviceRequestData['FN_Reporter']}"></c:when> 
         <c:otherwise> 
          <u>Reporter First Name:</u> 
         </c:otherwise> 
        </c:choose></td> 
       <td><c:choose> 
         <c:when test="${empty serviceRequestData['LN_Reporter']}"></c:when> 
         <c:otherwise> 
          <u>Reporter Last Name:</u> 
         </c:otherwise> 
        </c:choose></td> 
       <td><c:choose> 
         <c:when test="${empty serviceRequestData['Company']}"></c:when> 
         <c:otherwise> 
          <u>Company:</u> 
         </c:otherwise> 
        </c:choose></td> 
       <td><c:choose> 
         <c:when test="${empty serviceRequestData['Notes']}"></c:when> 
         <c:otherwise> 
          <u>Notes:</u> 
         </c:otherwise> 
        </c:choose></td> 
      </tr>         //DOES NOT PRINT ENDING HERE 
      <c:forEach var="serviceRequestData" items="${serviceRequests}"> 
       <tr> 
        <td><c:choose> 
          <c:when test="${empty serviceRequestData['ID']}"> 
          Null 
         </c:when> 
          <c:otherwise> 
          ${serviceRequestData['ID']} 
         </c:otherwise> 
         </c:choose></td> 
        <td><c:choose> 
          <c:when test="${empty serviceRequestData['FN_Contact']}"> 
          Null 
         </c:when> 
          <c:otherwise> 
          ${serviceRequestData['FN_Contact']} 
         </c:otherwise> 
         </c:choose></td> 
        <td><c:choose> 
          <c:when test="${empty serviceRequestData['LN_Contact']}"> 
          Null 
         </c:when> 
          <c:otherwise> 
          ${serviceRequestData['LN_Contact']} 
         </c:otherwise> 
         </c:choose></td> 
        <td><c:choose> 
          <c:when test="${empty serviceRequestData['Email']}"> 
          Null 
         </c:when> 
          <c:otherwise> 
          ${serviceRequestData['Email']} 
         </c:otherwise> 
         </c:choose></td> 

        <td><c:choose> 
          <c:when test="${empty serviceRequestData['FN_Reporter']}"> 
          Null 
         </c:when> 
          <c:otherwise> 
          ${serviceRequestData['FN_Reporter']} 
         </c:otherwise> 
         </c:choose></td> 
        <td><c:choose> 
          <c:when test="${empty serviceRequestData['LN_Reporter']}"> 
          Null 
         </c:when> 
          <c:otherwise> 
          ${serviceRequestData['LN_Reporter']} 
         </c:otherwise> 
         </c:choose></td> 
        <td><c:choose> 
          <c:when test="${empty serviceRequestData['Company']}"> 
          Null 
         </c:when> 
          <c:otherwise> 
          ${serviceRequestData['Company']} 
         </c:otherwise> 
         </c:choose></td> 

        <td><c:choose> 
          <c:when test="${empty serviceRequestData['Notes']}"> 
          Null 
         </c:when> 
          <c:otherwise> 
          ${serviceRequestData['Notes']} 
         </c:otherwise> 
         </c:choose></td> 

       </tr> 
      </c:forEach> 
     </c:otherwise> 
    </c:choose> 
</table> 
+0

你有一個選擇在你的頭......因此,你很可能結束在C:當條件,什麼都不輸出......嘗試添加一些東西到C:當內容,看看它是否顯示。 – scunliffe

+0

是的我已經嘗試添加'

BLAHBLAHBLAH
'並且頭部沒有打印 – GregH

+0

我剛剛發現它,您正在使用(在您的頭文件測試中)之後在for循環中定義的變量(例如,它未定義然而) – scunliffe

回答

1

您試圖在表頭接入的變量沒有定義,直到使用<c:forEach>遍歷數據行。

這應該工作:

<table style="width: 100%"> 
    <c:choose> 
    <c:when test="${empty serviceRequests}"></c:when> 
    <c:otherwise> 
     <tr> 
     <td> 
      <u>ID:</u> 
     </td> 
     <td> 
      <u>First Name:</u> 
     </td> 
     <td> 
      <u>Last Name:</u> 
     </td> 
     <td> 
      <u>Email:</u> 
     </td> 
     <td> 
      <u>Reporter First Name:</u> 
     </td> 
     <td> 
      <u>Reporter Last Name:</u> 
     </td> 
     <td> 
      <u>Company:</u> 
     </td> 
     <td> 
      <u>Notes:</u> 
     </td> 
     </tr> 
     <c:forEach var="serviceRequestData" items="${serviceRequests}"> 
     ... 
     </c:forEach> 
    </c:otherwise> 
    </c:choose> 
</table> 
要用來包住頭值

當然,你需要弄清楚什麼邏輯,(如果有的話)。