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>
,即您可以使用现代浏览器一次上传多个文件。
我对 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>
,即您可以使用现代浏览器一次上传多个文件。