<c:forEach var="cid" items="${clist}"> <option value="${cid.id}" ${cid.id==blist.categoryId?"seleced":""}>${cId.categoryName}</option> </c:forEach>这段代码中出现java.lang.NumberFormatException: For input string: "categoryId"
时间: 2023-07-06 22:28:03 浏览: 94
如何解决java中遇到的for input string: "" 报错问题
这个错误的原因是在比较 `cid.id` 和 `blist.categoryId` 的时候,`blist.categoryId` 的值不是一个数字类型,而是一个字符串类型的 "categoryId"。因此,在比较时会出现字符串无法转换为数字的异常。
为了解决这个问题,你需要确保 `blist.categoryId` 的值是一个数字类型。你可以在 `${clist}` 中使用 `parseInt()` 或者 `valueOf()` 方法,将其转换为数字类型。或者你可以在比较时将 `cid.id` 也转换为字符串类型,这样就可以避免出现类型不匹配的问题。
以下是一个可能的解决方案:
```
<c:forEach var="cid" items="${clist}">
<option value="${cid.id}" ${cid.id==String.valueOf(blist.categoryId)?"selected":""}>${cId.categoryName}</option>
</c:forEach>
```
这样,就可以将 `blist.categoryId` 转换为字符串类型,避免出现类型不匹配的问题。
阅读全文