【发布时间】:2014-12-08 07:34:31
【问题描述】:
我将 fileLimit 设置为 1。 我希望当用户选择第一个文件时,选择按钮被禁用。
【问题讨论】:
-
我希望用户不要尝试上传超过 1 个文件。
-
是的,它有。当用户尝试上传第二个文件时,它会显示错误消息。但我不希望用户可以上传第二个文件。
标签: jsf file-upload jsf-2 primefaces
我将 fileLimit 设置为 1。 我希望当用户选择第一个文件时,选择按钮被禁用。
【问题讨论】:
标签: jsf file-upload jsf-2 primefaces
我解决了在 fileUpload 中放置一个禁用的属性,喜欢在我的 bean 中使用布尔变量。 当文件完成上传时,变量将其值更改为 true,然后我更新 fileUpload 组件,然后该组件被禁用。 谢谢大家的帮助。
【讨论】:
试试这个。
xhtml
<p:fileUpload fileUploadListener="#{fileUploadView.handleFileUpload}"
mode="advanced"
dragDropSupport="false"
update="messages,@this"
sizeLimit="100000"
fileLimit="1"
allowTypes="/(\.|\/)(gif|jpe?g|png)$/"
disabled="#{fileUploadView.fileUploadCount >= 1}"/>
<p:growl id="messages" showDetail="true" />
托管豆
@ManagedBean
public class FileUploadView {
private int fileUploadCount;
public int getFileUploadCount() {
return fileUploadCount;
}
public void setFileUploadCount(int fileUploadCount) {
this.fileUploadCount = fileUploadCount;
}
public void handleFileUpload(FileUploadEvent event) {
FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
fileUploadCount = fileUploadCount + 1;
}
}
这个建议很容易改变文件限制。当您想将 fileLimit 更改为 2 时,您只需更改
fileLimit="2" 和 disabled="#{fileUploadView.fileUploadCount >= 2}" 无需修改 managedbean。
【讨论】: