2017-01-20 4 views
0

Wicket 모달 창을 사용하여 엔터티의 PropertyModel을 설정하려고합니다. 문제는이 엔티티가 FILEUploadFields를 가지고있어서 Ajax와 잘 작동하지 않는다는 것입니다. 모달 내부에서 AjaxSubmitLink를 사용해야하고이 작업을 제대로 수행 할 수 없습니다.wicket을 사용하여 모달 안에 파일을 업로드하는 방법

setMultiPart(true); 

setMaxSize(Bytes.megabytes(100)); 

fileUpload = new FileUploadField("fileUpload"); 

fileUpload.setOutputMarkupId(true); 
fileUpload.setOutputMarkupPlaceholderTag(true); 
add(fileUpload); 

save_btn = new AjaxLink("save_btn") { 

      @Override 
      public void onClick(AjaxRequestTarget art) { 


       final FileUpload uploadedFile = fileUpload.getFileUpload(); 
       if (uploadedFile != null && uploadedFile.getSize() > 0) { 
        try { 
         if (GestioneDocumentiDcs.isTextDocument(uploadedFile)) { 
          String ext = GestioneDocumentiDcs.getTextExtension(uploadedFile.getContentType()); 

          String nomeFile = "c_" + _corso.getId() + "_m_" + materialeCorso.getId() + ext; 
          byte[] b = ByteStreams.toByteArray(uploadedFile.getInputStream()); 
          gd.salvaFile(b, gd.getPathCorso(_corso) + "/" + nomeFile); 
          materialeCorso.setPercorso(nomeFile); 
          materialeCorso.setDimensione(uploadedFile.getSize()); 
          materialeCorso.setDataUpload(LocalDate.now()); 
         } 
        } catch (Exception e) { 
         System.out.println("ERRORE: " + Utils.StampaStackError(e)); 
        } 
       } 

하지 양식을 제출 않습니다 모달

답변

0

AjaxLink 안에 내 코드, 그래서 아무 것도 서버로 전송되지 않습니다. AjaxButton 또는 AjaxSubmitLink 중 하나가 필요합니다.

+0

감사합니다. 그것은 작동합니다. –