2017-01-17 6 views
-1

<c:forEach><c:if><c:choose>に使用しようとしています。私の元の計画は、リストのサイズが0の場合、「結果がありません」と表示され、リストにない場合はリストに表示されます。しかし、<c:choose>を使用するたびにページが正しく読み込まれず、${param}でもパラメータがキャッチされないようです。JSTL c:選択してくださいc:forEach、c:問題の場合

ここに私のコードです。最初の部分は$ {param}を使用する場所で、<c:choose>がない場合は完全に動作します。ここで

<select class="myselect" id="type_size" name="type_size"> 
     <c:if test="${param.type_size eq null}"> 
      <c:forEach var="i" begin="2" end="6" step="2"> 
       <option value="${i}">${i}</option> 
      </c:forEach> 
     </c:if> 
    <c:if test="${param.type_size ne null}"> 
     <option value=" ${param.type_size}"> ${param.type_size}</option> 
    </c:if> 
</select> 

<c:choose><c:forEach>とのコードは私が見つけたいくつかの構文エラー

<div class="container> 
<c:if test="${item[0].getRoom_no eq null}"> 
    <div class="row_room"> 
     <div class="item"> 
      There is no result available at this moment. 
     </div> 
    </div> 
</c:if> 
    <c:if test="${item[0].getRoom_no ne null}">  
    <c:forEach var="tmp" items="${item}" varStatus="idx"> 
    <c:if test="${idx.index%3==0}"> 
    <div class="row"> 
    </c:if> 
    <div class="item"> 
<div class="media"> 
<img src="resources/room_img/${tmp.getRoom_img01()}"/> 
    </div><!-- media end --> 
    <div class="row"> 
     </c:if> 
      <h4>${tmp.getRoom_no()} | ${tmp.getType_name()} </h4> 
      <button type="button" onclick="location.href='roomView?checkin=${param.checkin}&checkout=${param.checkout}&type_size=${param.type_size}&room_no=${tmp.getRoom_no()}'">reserve</button> 
    </div><!-- row end --> 
    <c:if test="${idx.index%3 == 2 || idx.index == end}"> 
    </div> 
    </div><!-- row end --> 
    </c:if> 
    </c:forEach> 
    </c:otherwise> 
    </c:if> 
    </c:choose> 
    </div><!-- container end --> 

答えて

1

にそうである:

  • は閉じ引用符がありません:<div class="container><div class="container">でなければなりませんが。
  • <c:choose><c:otherwise>の開始タグがありません。 <c:when>もありません。

選択-とき、それ以外の基本的な構文は次のとおりです。

<c:choose> 
    <c:when test="${something eq 0}"> 
     something is zero 
    </c:when> 
    <c:when test="${something gt 0}"> 
     something is positive 
    </c:when> 
    <c:otherwise> 
     something is negative 
    </c:otherwise> 
</c:choose> 

あり複数のエラーかもしれないが、私が悪いため、タグのインデント/フォーマットで見ることができません。
これは、コードがこの形式で維持できないことを意味します。
if-elseロジックをサーブレット/クラスに移動し、jspにデータを表示させることを検討してください。

関連する問題