我是Vaadin的新手,我想实现这个:一个包含单个选择文件名的下拉列表。和上传文件按钮,上传文件后,文件名将添加到下拉列表中:
List <String> fileDirList = Utilities.getDirectoryList("/home/amira/runtime/uploads/report");
// Create a selection component
Select select = new Select ("Select file");
for (String fileName : fileDirList) {
select.addItem(fileName);
}
public void uploadSucceeded(SucceededEvent event) {
String userHome = System.getProperty( "user.home" );
String filename = event.getFilename();
// Open the file for writing.
file = new File(userHome+"/runtime/uploads/report/"+filename);
String fileName = filename.substring(0,filename.length()-4 );
fileDirList.add(fileName);
}
};
上传文件并在fileDirList中添加其名称后,下拉列表未更新的问题。 那么如何刷新它
答案 0 :(得分:2)
当你向fileDirList添加一个对象时,select组件无法识别它,因为它们之间没有连接。
您可以创建一个方法,将文件名添加到选择组件和列表中:
private void addFilename(String sFilename) {
fileDirList.add(sFilename);
select.addItem(sFilename);
}
在您的上传代码中调用此方法。