Rich:FileUpload - Faces Message

53 views
Skip to first unread message

Fjava

unread,
Jul 11, 2011, 8:47:12 AM7/11/11
to javasf: JavaServer Faces Group
Bom dia Galera ,

Tenho um componente fileUpload do richFaces , com isso depois do
upload faco validacoes do arquivo e caso tenha erros , adicono
mensagens de erro .

Mas as mensagem nao sao mostradas de jeito nenhum . alguem tem alguma
ideia ???

Vlw ...

Ricardo Silvestre

unread,
Jul 11, 2011, 8:56:14 AM7/11/11
to jav...@googlegroups.com
mostra ai como está seu codigo..


--
Você recebeu esta mensagem por que é membro do  Javasf
http://groups.google.com/group/javasf

Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Ricardo Silvestre - Analista e Desenvolvedor de Sistemas.

Breno Araújo

unread,
Jul 11, 2011, 8:53:33 AM7/11/11
to jav...@googlegroups.com
manda o jsp ou xhtml da página por favor.
_________________________
Breno Santos Araújo
SCJP,PPGEE



2011/7/11 Fjava <flaviodme...@gmail.com>

Fjava

unread,
Jul 11, 2011, 9:10:41 AM7/11/11
to javasf: JavaServer Faces Group
Segue meu componente :


<rich:fileUpload
fileUploadListener="#{documentoCreditoController.listener}"
maxFilesQuantity="1"

clearAllControlLabel="#{bundle.planilhaUploadLimparTodos}"
clearControlLabel="#{bundle.planilhaUploadLimpar}"
uploadControlLabel="#{bundle.planilhaUploadEnviar}"
addControlLabel="#{bundle.planilhaUploadAdicionar}"
doneLabel="#{bundle.planilhaUploadArquivoEnviado}"

cancelEntryControlLabel="#{bundle.planilhaUploadArquivoCancelar}"
listHeight="100%"
listWidth="600px"
id="upload"
immediateUpload="false"
acceptedTypes="xls"
autoclear="true"
reRender="messageTeste1"
>

<a4j:support event="onfileuploadcomplete"
reRender="messageTeste1" />
<a4j:support event="onuploadcomplete" reRender=" treeTree ,
listaErros />
<a4j:support event="onclear" reRender="upload , treeTree ,
listaErros ,
action="#{documentoCreditoController.cleanPlanilhaDocumentoCredito}" /
>


</rich:fileUpload>

No meu metodo Listener ..eu add mensagem ....

Marcelo Preis Ferreira

unread,
Jul 11, 2011, 10:27:21 AM7/11/11
to jav...@googlegroups.com
Você tem a Tag para mostrar as mensagens,

por exemplo

<h:messages .....

ou algo do genero

Fjava

unread,
Jul 11, 2011, 12:13:57 PM7/11/11
to javasf: JavaServer Faces Group
<rich:messages layout="table" var="messages" errorClass="error_global"
infoClass="info_global" warnClass="warn_global">
<f:facet name="errorMarker">
<h:graphicImage url="/images/error.gif" />
</f:facet>
<f:facet name="infoMarker">
<h:graphicImage url="/images/info.gif" />
</f:facet>
<f:facet name="warnMarker">
<h:graphicImage url="/images/warn.jpg" />
</f:facet>
</rich:messages>

Fjava

unread,
Jul 11, 2011, 1:17:18 PM7/11/11
to javasf: JavaServer Faces Group
Galera ..Resolvidoo ..vlw .. ja ja add a solucaooo ..vlw

Ricardo Silvestre

unread,
Jul 11, 2011, 10:45:37 AM7/11/11
to jav...@googlegroups.com
A tag de mensagens está no template principal, quando eu mando renderizar a pagina, se tiver algum erro, a mensagem é mostrada.


<!-- Mensgens -->
            <a4j:outputPanel id="msgs" ajaxRendered="true">
                <script type="text/javascript">
               
                          jQuery(document).ready(function() {
                            window.setTimeout(function() {
                            jQuery('#msgs #messages').fadeOut("3000");
                           }, 5000);
                          });
                       
                      </script>

                <rich:messages ajaxRendered="true"  id="messages" layout="list" tooltip="true"
                    showDetail="true" showSummary="true" errorClass="error"
                    warnClass="warning" infoClass="info" fatalClass="notice"
                    name="msg_flash" globalOnly="true" />
            </a4j:outputPanel>



Em 11 de julho de 2011 11:15, Ricardo Silvestre <ricar...@gmail.com> escreveu:
Vou mostrar como eu fiz, para fazer as validações e mostrar a mensagem de erro

--- Meu Xhtml ---

<rich:fileUpload id="upload"
                                        fileUploadListener="#{carteiraBean.listener}"
                                        cancelEntryControlLabel="#{msg['botao.cancelar']}"
                                        noDuplicate="true"
                                        doneLabel="#{msg['botao.realizado']}"
                                        addControlLabel="#{msg['label.arquivo']}"
                                        maxFilesQuantity="#{carteiraBean.uploadsAvailable}"
                                        ajaxSingle="true"
                                        stopEntryControlLabel="#{msg['label.parar']}"
                                        clearControlLabel="#{msg['botao.limpar']}"
                                        clearAllControlLabel="#{msg['label.limpar.todos']}"
                                        uploadControlLabel="#{msg['label.enviar']}"
                                        acceptedTypes="jpg, gif, png, bmp" allowFlash="true"
                                        autoclear="true"  >
                                            <f:facet name="label">
                                                <h:outputText id="outputLabel_carregando" value="{_KB}KB de {KB}KB carregados" />
                                            </f:facet>
                                            <a4j:support id="support_upload" event="onuploadcomplete" action="#{carteiraBean.validateFileUpload}" reRender="listaDocumentos" ajaxSingle="true" />                                                   
                                    </rich:fileUpload>

--- Meu MB ---

 /**
     * Metodo que lança as mensagens de erro/aviso do componete de upload.
     */
    public void validateFileUpload(){
       
        // concatenando a string da msg de erro dos arquivos não
        // importados
        String mesmoNomes = "";
        if (!arquivosMesmoNome.isEmpty()) {
            for (String string : arquivosMesmoNome) {
                mesmoNomes += string + ", ";
            }
        }
       
        String enormes = "";
        if (!arquivosEnormes.isEmpty()) {
            for (String string : arquivosEnormes) {
                enormes += string + ", ";
            }
        }
       
        // verificando qual mensagem utilizar
        if (mesmoNomes != "" && enormes != "")
            Messages.warningMsgReplace(
                    "erro.upload.arquivos", new String[] {
                            mesmoNomes, enormes, Constantes.MEGA_1.toString() });
        else if (mesmoNomes != "")
            Messages.warningMsgReplace(
                    "erro.upload.arquivos.com.mesmo.nome", new String[] {
                            mesmoNomes });
        else if (enormes != "")
            Messages.warningMsgReplace(
                    "erro.upload.arquivos.com.tamanho.excedente", new String[] {
                            mesmoNomes, "1"});
        arquivosMesmoNome.clear();
        arquivosEnormes.clear();
    }

O  a4j:support executa o método que faz a validação e renderiza o local onde está o componente de mensagens, caso tenha algum erro o componente de mensagens captura  a texto especifico do erro.









--
Você recebeu esta mensagem por que é membro do  Javasf
http://groups.google.com/group/javasf

Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil
--
Ricardo Silvestre - Analista e Desenvolvedor de Sistemas.

Ricardo Silvestre

unread,
Jul 11, 2011, 10:15:33 AM7/11/11
to jav...@googlegroups.com

--
Você recebeu esta mensagem por que é membro do  Javasf
http://groups.google.com/group/javasf

Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

Sartre Brasil

unread,
Jul 11, 2011, 9:25:32 AM7/11/11
to jav...@googlegroups.com
Onde está o seu componente h:messages/rich:messages¿¿

Atenciosamente,


Sartre Brasil
Analista Desenvolvedor


-----Mensagem original-----
De: jav...@googlegroups.com [mailto:jav...@googlegroups.com] Em nome de
Fjava
Enviada em: segunda-feira, 11 de julho de 2011 10:11
Para: javasf: JavaServer Faces Group
Assunto: [javasf] Re: Rich:FileUpload - Faces Message

Segue meu componente :


</rich:fileUpload>

--

Breno Araújo

unread,
Jul 11, 2011, 12:20:33 PM7/11/11
to jav...@googlegroups.com
da um reRender nesse rich:messages aí ou então poe ele dentro de <a4j:outputPanel ajaxRendered="true"> que assim toda requisição ajax que tiver ele vai atualizar suas mensagens.

Abraço

_________________________
Breno Santos Araújo
SCJP,PPGEE



2011/7/11 Fjava <flaviodme...@gmail.com>
<rich:messages layout="table" var="messages" errorClass="error_global"

Breno Araújo

unread,
Jul 11, 2011, 9:17:51 AM7/11/11
to jav...@googlegroups.com
mas onde ta o h:messages ou rich:messages?

_________________________
Breno Santos Araújo
SCJP,PPGEE



2011/7/11 Fjava <flaviodme...@gmail.com>
Segue meu componente :

--

Breno Araújo

unread,
Jul 11, 2011, 2:06:10 PM7/11/11
to jav...@googlegroups.com
ajaxRendered="true"
indepentende de dar um reRender ou não ele vai ser renderizado novamente.
Tanto no outputPanel quando no rich:messages. Pode tirar o ajaxRendered=true do richMessages e deixar só no outputpanel.

Att

_________________________
Breno Santos Araújo
SCJP,PPGEE



2011/7/11 Sartre Brasil <sartre...@gmail.com>
Reply all
Reply to author
Forward
0 new messages