2017-01-20 5 views
0

Я пытаюсь использовать Wicket Modal Window для установки PropertyModel объекта. Проблема в том, что у Entity есть 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

Спасибо. Оно работает –