Pregunta

Quiero subir un archivo con AJAX en Wicket. Me parece que Wicket no es compatible con esta función. ¿Es posible?

¿Fue útil?

Solución

Consulte el código fuente de los ejemplos de Wicket para cargar: http: //www.wicketstuff .org / wicket13 / upload / single . Tiene ejemplos para las versiones estándar y ajax.

Otros consejos

Como una actualización de una pregunta anterior, parece que es posible en este momento:

http://www.wicket-library.com/wicket-examples/ ajax / upload

Este enfoque funciona para mí con una aplicación de wicket completa de Ajax. Lo sentimos, esta es la sintaxis de Scala, pero debería transferirse fácilmente a la sintaxis de 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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top