2015-10-05 83 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> 
要用来包住头值

当然,你需要弄清楚什么逻辑,(如果有的话)。