2014-12-03 3 views
0

이 코드는 세션 내에 저장된 문자열 배열로 테이블을 만듭니다. 그런 다음 각 행의 끝에 제출 단추를 클릭하여 도달 행의 스톡 번호 (각 행의 0 번째 열에 있음)를 저장하고이를 서블릿에 보내야합니다. 테이블이 제대로 표시되지만 개별 행마다 Stock # 열을 검색 할 수는 없습니다. 어디서 잘못 됐습니까?JSP에서 Servlet으로 배열의 특정 값 검색

<table> 
    <tr> 

     <th>Stock#</th> <th>Name</th> <th>Price</th> <th>Description</th> 

    </tr> 
    <c:forEach items="${BooksTable}" begin="0" var="row"> 
    <tr> 
     <c:forEach items="${row}" var="cell"> 

     <td>${cell} <BR> <BR> </td> 
     </c:forEach> 
     <c:set value="${$row.count}" scope="session" var="itemID" /> 
     <td><FORM ACTION="CartAccess"> 

     <INPUT TYPE ="HIDDEN" NAME="item" VALUE="${BooksTable[1][0]}"> 

     <INPUT TYPE="SUBMIT" NAME="check" VALUE="Add"> </FORM></td> 
    </tr> 
    </c:forEach> 
</table> 
+0

'BooksTable'이란 무엇입니까? Stock # 값이 실제로 존재하는지 확인하기 위해 디버깅을 했습니까? 또한,''로 무엇을하려하고 있습니까? – Foxsly

답변

1

당신은 다음 c:set 변수 stockValue 경우, index == 0 여부를 확인하는 테스트를 추가 한 다음 숨겨진 필드를 만들 수 있습니다.

<c:forEach items="${BooksTable}" begin="0" var="row"> 
    <tr> 
     <c:forEach items="${row}" var="cell" varStatus="rowIndex"> 

     <c:if test="${rowIndex.index == 0}" > 
      <c:set var="stockValue" value="${cell}" scope="page" /> 
     </c:if> 

     <td>${cell} <BR> <BR> </td> 
     </c:forEach> 

     <c:set value="${$row.count}" scope="session" var="itemID" /> 
     <td><FORM ACTION="CartAccess"> 
     <INPUT TYPE ="HIDDEN" NAME="item" VALUE="${stockValue}"> 
     <INPUT TYPE="SUBMIT" NAME="check" VALUE="Add"> </FORM></td> 
    </tr> 
    </c:forEach> 
관련 문제