2012-04-06 66 views
1

我一直在這裏收到此錯誤:無法解決:java.lang.NumberFormatException:對於輸入字符串:「」

SEVERE: java.lang.NumberFormatException: For input string: "" 
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 
at java.lang.Integer.parseInt(Integer.java:504) 
at java.lang.Integer.parseInt(Integer.java:527) 
at com.myapp.cmt.web.ContentController.saveContent(ContentController.java:129) 

在下拉菜單中選擇了categories我的網頁上沒有選擇它發生。我正在檢查長度,所以它怎麼還在試圖處理parseInt()

 String[] category = request.getParameterValues("categories"); 
     if (category.length > 0) { 
      content.addCategory(contentDao.findCategory(Integer.parseInt(category[0]))); 
     } 

我的HTML

<strong>Category</strong><br/> 
    <select name="categories"> 
     <option></option> 
    <c:forEach items="${categories}" var="category"> 
     <option value="${category.id}" <c:if test="${content.hasCategory(category)}"> CHECKED</c:if>>${category.name}</option> 
    </c:forEach> 
    </select> 

回答

0

您的數組的長度只有故事......你必須還要檢查什麼在陣列一半。嘗試一下這樣的代碼:

if (category.length > 0 && 
    category[0] != null && 
    category[0].trim().length() > 0) 
    content.addCategory(contentDao.findCategory(Integer.parseInt(category[0]))); 
} 
0

返回類的空單元素。在你的if語句,你也應該檢查category[0] != null && !"".equals(category[0].trim())

相關問題