Загрузите файл AJAX-способом с помощью Wicket
-
22-07-2019 - |
Вопрос
Я хочу загрузить файл с AJAX в Wicket.Мне кажется, что Wicket не поддерживает эту функцию.Возможно ли это?
Решение
Ознакомьтесь с исходным кодом из примеров Wicket для загрузки: http: //www.wicketstuff .org / wicket13 / загрузки / сингл . В нем есть примеры как для стандартной, так и для AJAX версий.
Другие советы
Как обновление старого вопроса, кажется, что это возможно прямо сейчас:
http://www.wicket-library.com/wicket-examples/ Ajax / загрузки
Этот подход работает для меня с полноценным приложением Ajax wicket.Извините, это синтаксис 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>
Не связан с StackOverflow