2011-03-16 3 views
0

나는 나의 SERVLET에 해시 맵을 만들어? 오류를 어떻게 해결할 수 있습니까?HashMap의 오류 : 다음과 같이 javax.el.PropertyNotFoundException

편집 : 여기 내 JSP

당신은 그것을 키/값 쌍의 유형이 무엇인지 알 수 있도록 같은 당신의 HashMap를 선언 할 필요가
<c:forEach var="cart" items="${cartList}"> 
     ${cart.productId} 
     ${cart.productName} 
    <form method="POST" action="ShoppingCartUpdate"> 
     <input type="submit" value ="Update" class="loginButton" name="Update"> 
    </form> 
    <form method="POST" action=""ShoppingCartRemove"> 
     <input type="submit" value ="Remove" class="loginButton" name="Delete"> 
    </form> 
</c:forEach> 
+0

당신이 우리에게 JSP 코드가 오류가 발생했습니다 무엇 JSP 코드 –

+0

을 보여 주 시겠어요 ? – skaffman

+0

관련 항목 : http://stackoverflow.com/questions/924451/jstl-access-a-map-value-by-key –

답변

3

당신이 그 값에 액세스 할 수 value 속성을 사용할 필요가 있도록, 그 Entry의를 반복하는 JSTL의 Map을 반복 :

<c:forEach var = "e" items = "${cartList}"> 
    ${e.value.productId} 
</c:forEach> 
1

입니다. 이런 식으로 항상 Hashmaps를 인스턴스화해야하며 그렇게하지 않으면 해시 맵을 제공 할 것인지 확실하지 않습니다. 나는 Actionscript와 같은 것들에서 당신이 Dictionary를 정의하는 것을 잊을 수 있고 어떤 타입이 필요하지는 않지만 Java에서는 사용되는 타입을 정의해야하며 원시 타입을 사용할 수 없다 (나는 믿는다). INT, 더블 등

HashMap<Integer, Cart> cartList = new HashMap<Integer, Cart>(); 

및 제품 ID로 정수가 될뿐 아니라 그것은 당신이 JSP 또는 뭔가 사용하여 읽으려고하고있는 방법에 기인

+0

왜 그렇게 선언해야합니까? 신고해야하는지 어떻게 알 수 있습니까? 고맙습니다. – newbie

+0

선언 부분에 대해서는 동의하지만'int'와'Integer' 부분에 대해서는 동의하지 않습니다. 이 경우 Java는 int에 정수를 autobox합니다. – adarshr

+0

좋아요. Java에서 원시 형식을 키로 허용하지 않았기 때문에 정수로 선언하지 않는 것에 대해 Java가 불만을 가지고 있다고 확신했습니다. – Mike

1

을 int로해야합니다.

$cartList[productId]해야합니다. 여기서 productId은 정수 변수입니다.