我有一个<rich:fileUpload>
组件,我想在文件被拒绝时显示通知,因为不允许这种类型。我看到RF有<rich:notifyMessage>
,但是当文件被拒绝时我无法呈现消息。到目前为止,我有:
<rich:fileUpload id="fileUploadComp"
addLabel="Agregar" clearAllLabel="Quitar todos"
clearLabel="Quitar" deleteLabel="Quitar"
doneLabel="Completado" uploadLabel="Subir archivos"
fileUploadListener="#{uploadBean.doUpload}"
acceptedTypes="txt, csv" onclear="onclear(event);"
noDuplicate="true">
<a4j:ajax event="uploadcomplete" render="validationButton"/>
<a4j:ajax event="typerejected" render="notificationFileRejected"/>
</rich:fileUpload>
<rich:notifyMessage for="fileUploadComp"
id="notificationFileRejected"
sticky="true"
ajaxRendered="true"
title="Hello"/>
但是当我选择JPEG时,我看不到任何通知地球。
关于如何实现这一目标的任何想法?
更新
这样做的主要目的是显示一条通知,告诉用户“不允许使用文件类型”。
有什么想法吗?
答案 0 :(得分:4)
类似的东西:
<rich:fileUpload id="fileUploadComp"
addLabel="Agregar" clearAllLabel="Quitar todos"
clearLabel="Quitar" deleteLabel="Quitar"
doneLabel="Completado" uploadLabel="Subir archivos"
fileUploadListener="#{uploadBean.doUpload}"
acceptedTypes="txt, csv" onclear="onclear(event);"
ontyperejected="ontyperejected();"
noDuplicate="true">
<a4j:ajax event="uploadcomplete" render="validationButton"/>
</rich:fileUpload>
<a4j:jsFunction name="ontyperejected" actionListener="#{uploadBean.setMessage()}"/>
<rich:notifyMessage stayTime="2000" nonblocking="true"/>
使用java代码:
public void setMessage() {
String message="Wrong filetype...";
FacesContext.getCurrentInstance().addMessage("info", new FacesMessage(FacesMessage.SEVERITY_INFO, message, message));
}
MAG, Milo van der Zee
答案 1 :(得分:1)
不如我想要的那么好但是它可以解决问题。
<rich:fileUpload id="fileUploadComp"
addLabel="Agregar" clearAllLabel="Quitar todos"
clearLabel="Quitar" deleteLabel="Quitar"
doneLabel="Completado" uploadLabel="Subir archivos"
fileUploadListener="#{uploadBean.doUpload}"
acceptedTypes="txt, csv" onclear="onclear(event);"
ontyperejected="ontyperejected();" //THIS IS MY TRICK
noDuplicate="true">
<a4j:ajax event="uploadcomplete" render="validationButton"/>
</rich:fileUpload>
<script>
var ontyperejected = function(){
alert('Archivo inválido. Tipos permitidos: .txt y .csv');
}
</script>
只需创建一个JScript函数并发送一条警告消息。瞧。 如果有人知道如何实现那个看起来很淡的通知地球,我会非常感激!