2009-08-04 47 views

答えて

1

アップロードのためのWicket Examplesのソースコードを確認してください:http://www.wicketstuff.org/wicket13/upload/singleこれには、標準バージョンとAjaxバージョンの両方の例があります。

+0

これはちょうどajaxプログレスバーを持ち、完全にajaxではありません – 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ウィケットアプリケーションで私に役立ちます。 申し訳ありませんが、これはScalaの構文ですが、Javaの構文に戻って簡単に譲渡する必要があります:

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> 
関連する問題