Problema com JSTL <c:if> [RESOLVIDO]

4 respostas
P

Pessoal, to com um erro “besta” aqui, que não to conseguindo resolver

É assim, tenho a condição abaixo:

<c:if test="${msgRetorno ne null}"> <c:if test="${msgRetorno.equals('Arquivo enviado com Sucesso!')}"> <center> <input type="button" onclick="javascript: location.href='ServletUploadConsultaColetiva';disabled = true" value="Baixar Arquivo" /> </center> </c:if> </c:if>

se o msgRetorno (que será setado no Servlet) for diferente de nulo e igual ao ‘Arquivo enviado com Sucesso!’ ele habilita um botão para a pessoa clicar e baixar o arquigo gerado…

Só que as vezes vc clica no botão vem uma mensagem, depois vem outra, pois esse msgRetorno pode vir mensagem de Erro, de Arquivo inválido, etc…

Então acho que deveria mudar esse tipo de validação para mostrar o botão… mas não sei como…

4 Respostas

Rafael_Guerreiro

Tente trocar isso:

&lt;c:if test="${msgRetorno ne null}"&gt; &lt;c:if test="${msgRetorno.equals('Arquivo enviado com Sucesso!')}"&gt;
Por isso:

&lt;c:if test="${msgRetorno eq 'Arquivo enviado com Sucesso!'}"&gt;

Mas saiba que isso é uma péssima prática, pois, se vc mudar a sua mensagem, o sistema deixa de funcionar.

P

Valeu cara… funcionou…

Sei que não é a melhor prática… mas é um sistema interno, onde só uma pessoa vai mexer… para carregar um BD…

Valeu mesmo…

Abs

Rafael_Guerreiro

Uma dica:

Para ver se um objeto é nulo vc pode usar o empty:

${empty objeto}
${not empty objeto}
P

Valeu

Criado 24 de maio de 2013
Ultima resposta 24 de mai. de 2013
Respostas 4
Participantes 2