2009-08-04 5 views

답변

1

업로드 용 Wicket 예제의 소스 코드를 확인하십시오 : http://www.wicketstuff.org/wicket13/upload/single. 표준 및 아약스 버전 모두에 대한 예제가 있습니다.

+0

아약스 진행률 표시 줄이 있으며 완전히 아약스가 아닙니다 – JGC

+0

당신이 맞습니다. 질문을 잘못 해석했습니다. 현재 핵심 wicket 라이브러리로는 수행 할 수 없지만 https://cwiki.apache.org/jira/browse/WICKET-1315와 같이 문제로 작성되었습니다. 이 문제는 iFrame을 통해 Wicket을 통해 수행 된 샘플을 가리 킵니다. http://blog.demay-fr.net/index.php/2007/12/07/93-simulate-ajax-file-upload-with -창구. – jridley

+0

업데이트 : [WICKET-1315] (https://issues.apache.org/jira/browse/WICKET-1315)가 [WICKET-2420] (https://issues.apache.org/)의 속임수로 폐쇄되었습니다. jira/browse/WICKET-2420). – Pops

0

이 접근법은 완전한 Ajax wicket 응용 프로그램에서 저에게 효과적입니다. 죄송합니다 ,이 스칼라 구문입니다하지만 자바 문법에 다시 쉽게 양도해야한다 :

import java.io.File 
import org.apache.wicket.markup.html.form.upload.FileUploadField 
import org.apache.wicket.markup.html.form.Form 
import org.apache.wicket.markup.html.WebPage 
import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink 
import org.apache.wicket.ajax.AjaxRequestTarget 

class TestPage extends WebPage { 
    val uploadForm = new Form("form") 
    val fileField = new FileUploadField("file") 

    uploadForm.add(fileField) 
    add(form) 

    add(new AjaxSubmitLink("submit", uploadForm) { 
     def onSubmit(target: AjaxRequestTarget, form: Form[_]) { 
      val upload = fileField.getFileUpload 
      if (upload != null) { 
       val file: File = upload.writeToTempFile 
      } 
     } 
    }) 
} 

HTML :

오래된 질문에 대한 업데이트로
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> 
<body> 

<form wicket:id="form"> 
    <input wicket:id="file" type="file"/> 
</form> 
<button wicket:id="submit">Upload</button> 

</body> 
</html>