2010-09-06 19 views
8

Tôi đã nhìn chằm chằm vào thẻ lồng dưới đây khoảng một giờ và tôi vẫn không thể hiểu tại sao tôi tiếp tục nhận một JspTagException:Không hiểu JspTagException: "Sử dụng trái phép <when> thẻ kiểu mà không có <choose> làm cha mẹ trực tiếp

"Illegal use of <when>-style tag without <choose> as its direct parent" 

bạn không được phép thẻ điều kiện tổ này sâu trong JSTL

<c:choose> 
    <c:when test="${rec.image1Available}"> 
    <img alt="altname" src="/img1.jpg" alt="altname" /> 
    <c:otherwise> 
    <c:choose> 
     <c:when test="${rec.image2Available}"> 
     <img alt="altname" src="/img2.jpg" alt="altname" /> 
      <c:otherwise> 
      <c:choose> 
       <c:when test="${rec.image3Available}"> 
       <img alt="altname" src="img3.jpg" alt="altname" /> 
        <c:otherwise> 
        <img alt="altname" src="/holder.jpg" alt="altname" /> 
        </c:otherwise> 
       </c:when> 
      </c:choose> 
      </c:otherwise> 
     </c:when> 
    </c:choose> 
    </c:otherwise> 
    </c:when> 
</c:choose> 

Trả lời

13

Bạn có <c:otherwise> thẻ lồng nhau bên<c:when> thẻ. 2 thẻ này cần phải ngang hàng với nhau. Hãy thử điều này:

<c:choose> 
    <c:when test="${rec.image1Available}"> 
     <img src="/img1.jpg" alt="altname" /> 
    </c:when> 
    <c:otherwise> 
     <c:choose> 
      <c:when test="${rec.image2Available}"> 
       <img src="/img2.jpg" alt="altname" /> 
      </c:when> 
      <c:otherwise> 
       <c:choose> 
        <c:when test="${rec.image3Available}"> 
         <img src="img3.jpg" alt="altname" /> 
        </c:when> 
        <c:otherwise> 
         <img src="/holder.jpg" alt="altname" /> 
        </c:otherwise> 
       </c:choose> 
      </c:otherwise> 
     </c:choose> 
    </c:otherwise> 
</c:choose> 

BTW: Bạn có alt thuộc tính liệt kê hai lần trong mỗi <img> thẻ của bạn. Tôi đã loại bỏ các câu hỏi bổ sung trong câu trả lời của mình.

3

bạn có <c:otherwise> bên <c:when><c:otherwise> nên chúng ta?. ed như sau:

<c:choose> 
    <c:when ... > 
     1st alternative 
    </c:when> 
    <c:when ... > 
     2nd alternative 
    </c:when> 
    ... 
    <c:otherwise> 
     otherwise 
    </c:otherwise> 
</c:choose> 
Các vấn đề liên quan