2014-02-17 25 views
0

我想在jsp頁面中設置一個變量(如果它是一個特定的值),然後測試它是否存在,然後在某一行之後創建一個表格行。當我嘗試它時沒有任何反應。在jsp中設置和傳遞一個變量

 <c:forEach var="row" items="${regData}" varStatus='rowstatus'> 
    <tr> 
    <c:choose> 

     <c:when test="${row.values[10]=='PROG'}"> 
      <c:set var="postTitle" value="Anttermin" scope="request"/> 
     </c:when> 
      </tr> 
    </c:forEach> 
     <c:if test="${fn:length(postTitle) == 'PROG'}"> 
      <tr>Anttermin</tr> 
     </c:if>  

回答

0

試試這個

<c:forEach var="row" items="${regData}" varStatus='rowstatus'> 
    <tr> 
    <c:choose> 

     <c:when test="${row.values[10] eq 'PROG'}"> 
      <c:set var="postTitle" value="Anttermin" scope="request"/> 
     </c:when> 
      </tr> 
    </c:forEach> 
     <c:if test="${fn:length(postTitle) eq 'PROG'}"> 
      <tr>Anttermin</tr> 
     </c:if>  

對於字符串你需要使用.equals代替==

+0

我試過了,得到了下面的消息成功:當沒有指定默認名稱空間時,函數equals必須與前綴一起使用編輯。 – brbe24

+0

現在嘗試,如果它的工作..我有更新 –

+0

通過錯誤引發哪些條件的方式嗎?在你的問題我看到'=='。你的代碼應該工作。直到你傳遞一些錯誤的變量 –

0

與在jsp以下

  </tr> 
      <c:choose> 
    <c:when test="${row.values[10] == 'PROG' && row.values[5] != 'AVBR'}"> 
      <tr> 
      <td class="tableCell${cellStyle}"></td> 
      <td class="tableCell${cellStyle}"></td> 
      <td class="tableCell${cellStyle}">Antagningstermin</td> 
      <td class="tableCell${cellStyle}"></td> 
      <td class="tableCell${cellStyle}"></td> 
      <td class="tableCell${cellStyle}"></td> 
      <td class="tableCell${cellStyle}"></td> 
      <td class="tableCell${cellStyle}${style}">ANT</td> 
      <td class="tableCell${cellStyle}"></td> 
      <td class="tableCell${cellStyle}">${row.values[8]}</td> 
      <td class="tableCell${cellStyle}"></td> 
      </tr> 
     </c:when> 
     </c:choose>