猿问

在做项目练习时遇到的,求大神回答,谢谢

别人这样写可以,为什么我的不行?

category.category_id  int类型
condition.category_id  String类型
    商品类别:<select name="category_id">
                  <option value="">--请选择--</option>
                  <c:forEach var="category" items="${listCategory }">
                  <c:choose>
                  <c:when test="${category.category_id == condition.category_id }">
                  <option  selected="selected" value="${category.category_id} ">${category.category_name }</option>
                  </c:when>
                  <c:otherwise>
                  
   Caused by: javax.el.ELException: Cannot convert 19  of type class java.lang.String to class java.lang.Long


鹰击长空007
浏览 1176回答 2
2回答

Its_forever

按照错误提示的意思应该是 <c:when test="${category.category_id == condition.category_id }">这句话中的condition.category_id的值为19,类型为String.而category.category_id 是int型,所以这两个不同类型用==的时候出现了类型装换异常。所以,先把condition.category_id转化为int型或者long型就可以了。
随时随地看视频慕课网APP

相关分类

Java
我要回答