Bug do PrimeFaces 2.2 RC no IE7/8

7 respostas
takeshi_spoow

Estou com um grande problema!

Desenvolvi um sistema usando JSF 2.0, PrimeFaces 2.2 e Facelets. E o sistema funciona perfeitamente no Firefox, Chrome, etc.

Porém no IE 7/8 o sistema não funciona!

Por exemplo, tenho um p:commandButton que ao apertá-lo, ele deve abrir uma p:dialog. No IE isto não ocorre! Quando a requisição é feita, os dados são enviados para a Controller, processados e retornam à View, porém a atualização "update" não ocorre.

Estou esquecendo algum detalhe? Aqui segue o código da minha tela de login, onde tem um botão de limpar dados, que só recebe Strings vazias da camada Controller para a View e limpa os InputTexts.

<?xml version='1.0' encoding='ISO-8859-1'?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:f="http://java.sun.com/jsf/core">
    <f:view contentType="text/html">
        <h:head>
           <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
            <meta http-equiv="X-UA-Compatible" content="IE=8"  />
            <meta http-equiv="X-UA-Compatible" content="IE=7" /> <!-- -->

            <title>GED QUALI Web - Login</title>
            <p:tooltip global="true" />
            <!-- <h:outputStylesheet name="skin"/> -->
            <link type="text/css" rel="stylesheet" href="south-street/skin.css" />
            <script type="text/javascript" src="../jquery.js"></script>
        </h:head>
        <h:body>
            <h:form style="font-size:12px;">
                <br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br>
                <p:panel id="login" header="Autenticação"
                         style="font-size:12px; width: 280px; margin-left: auto; margin-right: auto"
                         visible="true" closable="false" >
                    <h:panelGrid columns="2">
                        <h:graphicImage value="/resources/image/projectus.png" />
                        <h:panelGrid columns="2" cellpadding="5" id="grid">
                            <h:outputText value="Login: " style="font-size:12px; font-weight: bold"/>
                            <h:inputText style="font-size:12px; font-weight: bold; width: 130px"
                                         value="#{loginManagedBean.usuario}"/>

                            <h:outputText value="Senha: " style="font-size:12px; font-weight: bold"/>
                            <h:inputSecret style="font-size:12px; font-weight: bold; width: 130px"
                                           value="#{loginManagedBean.senha}"/>
                        </h:panelGrid>
                    </h:panelGrid>

                    <p:commandButton value="Entrar" update="msg, login" action="#{loginManagedBean.login}"
                                     style="font-size: 12px;"/>
                    <p:spacer width="10" height="5" />
                    <p:commandButton value="Limpar Campos" update="login" action="#{loginManagedBean.limpar}"
                                     style="font-size: 12px;"/>
                </p:panel>
                <p:growl id="msg" showDetail="true" showSummary="true" />
                <p/>
                <center>
                    <h:outputText value="* Para melhor desempenho acesse o sistema no Mozilla Firefox. Não use Internet Explorer em hipótese alguma!" style="font-weight: bold; font-size: 12px"/>
                </center>
            </h:form>
        </h:body>
    </f:view>
</html>

Obrigado!

Abraços, Robert

7 Respostas

E

Veja no código fonte como ficou o id dos seus componentes. Dependendo, pode ser necessário por exemplo: update=“nomeform: login”

takeshi_spoow

Primeiramente obrigado pela resposta edudebom

Eu adicionei a id do Form em cada propriedade update. E a pagina continuou da mesma forma, o botão “Entrar” gera um redirecionamento via contexto e o Limpar não atualiza os componentes que estão dentro da panel “login”

takeshi_spoow

Me disseram tambem para adicionar JavaScript e CSS via tags do JSF. Não sei trabalhar com javaScript, e eu adicionei o CSS com tag do JSF mas não funcionou :frowning:

usando a tag funcionou!

E

Sobre o CSS, acredito que é isso que falas:

<h:outputStylesheet library="css" name="skin.css"/>

Mas esse skin deve estar na pasta resources/css no seu projeto.

takeshi_spoow

Nem assim funcionou! FUUUUUU

O que acontece agora é o seguinte

Testei meu sistema usando outro tema da Framework, e funcionou alguns componentes, não funcionou todos, mas alguns eventos funcionaram.

Isso que achei estranhei, pois só mudei o CSS que eu importo na pagina.

Abraços

E

Hoje saiu a versão 2.2 final. Se conseguires atualizar, talvez ela resolva esse problema.

takeshi_spoow

Já resolvi esse problema.

Obrigado pelas respostas!

O que acontecia é que eu estava à criar praticamente um template para cada pagina do meu sistema. Agora criei um template, e importo minhas contents dependendo da requisição do usuario.

Estilo o Snapshot da propria PrimeFaces.

Não gostei muito da PrimeFaces 2.2 Final, porque já tinha pego um templates deles e editado o CSS, ai importando a jar atualizada ficou muito diferente o meu CSS, logo, como todos nós aqui [color=red] AMAMOS SZ[/color] o CSS, eu fiquei com o Prime RC 2.2 mesmo! :stuck_out_tongue:

Para quem não sabia destas coisas assim como eu lá vai algumas dicas: Ao usar template defina as tags meta somente em seu template.

Abraços!

Criado 7 de fevereiro de 2011
Ultima resposta 11 de fev. de 2011
Respostas 7
Participantes 2