wicket 6 中的 FileUploadField 构造函数

FileUploadField constructor in wicket 6

我对 FileUploadField 构造函数有疑问。我想我穿越时空了。所以在迁移到 wicket 6 之后,这个构造函数不再可能:

FileUploadField uploadField = new FileUploadField("browseFile", new Model<FileUpload>());

删除 new Model<FileUpload>() 后出现已知错误:

Caused by: org.apache.wicket.WicketRuntimeException: No get method defined for class: class pl.thetis.beans.service.TicketComplete expression: browseFile

我注意到第二个构造函数是

public FileUploadField(final String id, IModel<List<FileUpload>> model)
{
    super(id, model);
}

不幸的是,我不知道如何创建它。

我想到了这个解决方案,但我认为它很糟糕

List list = new LinkedList<FileUpload>(); 
FileUploadField uploadField = new FileUploadField("browseFile", new Model<FileUpload>().ofList(list));

如果我将列表声明为 List<FileUpload> 它不起作用。

试试 new FileUploadField("browseFile", new ListModel<FileUpload>(yourList));

它现在使用列表,因此可以使用 HTML5 <input type="file" multiple>,即您可以使用现代浏览器一次上传多个文件。