は二つのことです私のために働いた。
ice:inputFileコンポーネントをバッキングBeanのプロパティにバインドし、ポップアップウィンドウを閉じるときに、プロパティのresetメソッドを手動で呼び出します。
-OR-
<ice:inputFile binding="#{Bean.uploadedFile}"/>
class BackingBean {
private UICommand uploadedFile;
public UICommand getUploadedFile() { return uploadedFile; }
public void setUploadedFile(UICommand uploadedFile) { this.uploadedFile = uploadedFile; }
public void onClose(ActionEvent event) {
((InputFile) uploadedFile).reset();
}
}
は、あなたの氷にActionListenerを追加:inputFileコンポーネントを。これにより、inputFileコンポーネントは独自の検証エラーをコンテキストに追加しなくなります。必要な検証をactionListenerメソッドに実装し、ice:messagesタグを使用して検証エラーを表示することができます。これは、エラーメッセージのテキスト/スタイルを完全に制御し、ポップアップウィンドウが消えたときにエラーメッセージが自動的に消去されるため、これはinputFileの検証よりもうまく機能することがわかりました。
<ice:inputFile actionListener="#{Bean.onFileUpload}"/>
public class BackingBean {
public void onFileUpload(ActionEvent event) {
FileInfo info = ((InputFile) event.getSource()).getFileInfo();
switch (info.getStatus()) {
case FileInfo.SAVED :
// handle uploaded file
case FileInfo.SIZE_LIMIT_EXCEEDED :
// file too big error
...
}
}
}