2012-04-06 18 views
1

私はここで、このエラーを取得しておいてください。は、入力文字列の場合:「」

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())

関連する問題