2013-09-06 3 views
0

내는 FileUpload 서블릿 코드 : 나는 String 배열에 getString() 값을 할당하기 위해 노력하고있어아파치 코 몬즈는 FileUpload에는 getString() 메소드 - 자바

다음
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    boolean isMultipart = ServletFileUpload.isMultipartContent(request); 
    NewsItems ni = new NewsItems(); 
    if (isMultipart) { 
     FileItemFactory factory = new DiskFileItemFactory(); 
     ServletFileUpload upload = new ServletFileUpload(factory); 

     try { 
      List items = upload.parseRequest(request); 
      Iterator iterator = items.iterator(); 
      String [] myValues = new String[6]; 
      while (iterator.hasNext()) { 
       FileItem item = (FileItem) iterator.next(); 

       int i = 0; 
       if (item.isFormField()) { 
        myValues[i] = item.getString(); 
        System.out.println("my vals: "+myValues[i]); //PRINTS THE VALUES 
       } 
       i++; 
      } 
      String newsContent = myValues[2]; //PRINTS NULL 
      System.out.println(newsContent); 

     } catch (FileUploadException e) { 
      e.printStackTrace(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

. 위의 코드에서 System.out.printlnWhile 루프 안에 있지만 System.out.println 외부의 값은 NULL 인 값을 인쇄합니다. 이것에 대한 어떤 이유라도 누군가 제게 해결책을 제공해 줄 수 있습니다. 도와 주셔서 감사합니다.

+1

루프는 얼마나 자주 반복합니까? 전체 배열을 인쇄하십시오. 어쩌면 세 번째 필드는 당신이 생각하는 것이 아닙니다. – Thilo

답변

1

마지막으로 대답을 찾았습니다. 나는 while 루프 안에 i을 초기화함으로써 어리석은 실수를 저질렀다.

관련 문제