Executar javascript antes de Tudo

1,192 views
Skip to first unread message

André Wolf

unread,
Jul 21, 2010, 8:54:46 AM7/21/10
to jav...@googlegroups.com
Bom dia!!!

Estou me adaptando no mundo de JSF,
Meu problema: 

Quero que uma pagina antes de ser carregada, execute uma comando em Javascript e este comando abre uma método dentro da servlet que limpa todo o conteúdo da sessão,

Grato

Sérgio Fantin

unread,
Jul 21, 2010, 9:03:30 AM7/21/10
to jav...@googlegroups.com
Não entendi a real necessidade, mas não resolve colocar esse código que limpa o que você precisa dentro do construtor do seu MB?

Abraços...

2010/7/21 André Wolf <andre...@gmail.com>
--
Você recebeu essa mensagem por que é membro do "JavaSF: JavaServer Faces Group" em http://groups.google.com/group/javasf
Para postar no grupo envie para jav...@googlegroups.com



--
Sérgio Fantin
http://serjaum.wordpress.com

thiago moraes

unread,
Jul 21, 2010, 9:06:28 AM7/21/10
to jav...@googlegroups.com
E já que vai apagar tudo ... invalida a sessão.

2010/7/21 Sérgio Fantin <sergio.l...@gmail.com>



--
Thiago Alves de Moraes
thiag...@gmail.com

Gustavo Henrique Lima Pinto

unread,
Jul 21, 2010, 9:01:25 AM7/21/10
to jav...@googlegroups.com
Oi,

melhor você controlar isso pelo servlet diretamente. O javascript só é executado pelo lado do cliente, enquanto que o servlet recebe requisições do servidor.

2010/7/21 André Wolf <andre...@gmail.com>
--

Sérgio Fantin

unread,
Jul 21, 2010, 9:14:01 AM7/21/10
to jav...@googlegroups.com
Tá.. então faz o seguinte... explica pra gente o que você precisa.

O pessoal aqui entende bastante e vai te ajudar a encontrar uma solução. :)

Abraços...

2010/7/21 Gustavo Henrique Lima Pinto <gustavohe...@gmail.com>

Kirmaier Andrade

unread,
Jul 21, 2010, 9:33:46 AM7/21/10
to jav...@googlegroups.com
No seu MB vc chama esse 'setup' para abrir sua page, e ele faz isso pra você. Melhor que usar JS, na minha opinião!

public String setup(){

    limpaCampos();

return getFowardPage();

public void limpaCampos(){
 list.clear();
}

public String getFowardPage(){

return "paginaQueVai";


Isso ae funfa que é uma belezaaa =)

2010/7/21 Sérgio Fantin <sergio.l...@gmail.com>



--
[]'s,
Kirmaier Barbosa de Andrade
http://kirmaier.blogspot.com/

André Wolf

unread,
Jul 21, 2010, 10:33:12 AM7/21/10
to jav...@googlegroups.com
Não sei se estou falando certo, mas minha pagina inicial é .xhtml e tentei criar um construtor na minha classe loginMB que limpasse a Sessão porém apresentava o mesmo erro.

Consegui construir todo o esquema que disse no post anterior, porém a sessão dentro da servlet é um novo objeto, limpo ele mas como devolvo essa nova sessão?, e por fim tive o maior trabalho mas não funcionou, pois o onload é da Body e quando o usuário recarrega a pagina , o comando em JS não foi executado,  ele é executado apenas quando abro a pagina na primeira vez.

Se alguém possuir em mais alguma sugestão agradeço


André Wolf

unread,
Jul 21, 2010, 9:27:49 AM7/21/10
to jav...@googlegroups.com
Vamos lá,

estou trabalhando em uma aplicação web, 
e quando o usuário que ja está logado no sistema, carrega a pagina do login novamente e tenta entrar com seu login o é gerado varias falhas que impossibilita ele de usar.

Fuçando no projeto descobri que existe varias entradas na sessão que garante que aquele usuário fique logado quando ele troca de pagina, tentei dentro da MB invalidar a sessão piorei tudo, antes de entrar na MB não sei porque a sessão já existe como um monte de entrardas dentro dela, 

A solução que eu pensei, na xhtml que carrega a primeira tela do sistema é aberta varias templates, pensei em utilizar na body da primeira template <onload="initPage()"> e esse initPage chama um metodo na Servlet que limpa a sessão

gostaria de saber se isso é correto ou recomendo ou POG mesmo 

Grato

Sérgio Fantin

unread,
Jul 21, 2010, 10:49:16 AM7/21/10
to jav...@googlegroups.com
Se entendi o que você precisa... dá uma olhada numa thread que tá rolando aqui mesmo na lista: [javasf] URL - JSF - Dúvida

Abraços...

2010/7/21 André Wolf <andre...@gmail.com>
Vamos lá,

Ellison Alves

unread,
Jul 21, 2010, 11:03:21 AM7/21/10
to jav...@googlegroups.com
André, não sei se entendi bem.
Mas se o usuário já está logado não deve ser permitido que ele volte para a página de login! Até pq não há sentido nisso.
Pelo que eu entendi você deve implementar um Filter ou um PhaseListener para fazer o controle das requisições do usuário.
Ellison Alves de Souza

Renato Marotta

unread,
Jul 21, 2010, 12:03:15 PM7/21/10
to jav...@googlegroups.com
Não sei se isso é a melhor forma de fazer o que vc quer, mas vai aí a solução que eu fiz (precisava carregar uma função e fazer uma alteração em um bean quando carrega a página). No meu caso eu altero o skin usando javascript:

        <a4j:form id="alteracaoSkins">
            <a4j:jsFunction name="alterarSkin">
                <a4j:actionparam name="param1" assignTo="#{skinBB.skin}"  />
            </a4j:jsFunction>
        </a4j:form>

Javascript (vc coloca em qualquer lugar da página, que quando a página carregar, será chamado automaticamente):

        <script type="text/javascript">
            alterarSkin('administracao');
        </script>

Deu pra entender? criei uma função que chama "alterarSkin" em javascript e essa função ao ser chamada atribui uma variável ao managed bean skinBB chamada de skin. Vc poderia chamar um método qualquer de alguma forma no lugar de alterar um atributo apenas (no meu caso foi chamado o método set do skin).

Herberson G. Silva

unread,
Jul 21, 2010, 3:49:53 PM7/21/10
to javasf: JavaServer Faces Group
André,

Você pode dar mais detalhes sobre a aplicação, por exemplo:
- Qual a implementação de JSF que está usando (RichFaces, MyFaces,
IceFaces, PrimeFaces, etc)?
- Você está usando o Seam Framework?

Dependendo dessas informações nós podemos identificar de forma mais
precisa a tua situação e ajudar a encontrar uma solução.

Por exemplo, se você estiver usando o Seam Framework existe um objeto
"identity" que indica quando o usuário já está autenticado e que pode
ser usado para impedir o acesso a tela de login.

Herberson

eduardo borges

unread,
Jul 21, 2010, 10:12:22 PM7/21/10
to jav...@googlegroups.com
concordo com o Ellison.

--
Você recebeu essa mensagem por que é membro do "JavaSF: JavaServer Faces Group" em http://groups.google.com/group/javasf
Para postar no grupo envie para jav...@googlegroups.com



--
 '“As idéias simples só estão ao alcance de espíritos complexos.”

André Wolf

unread,
Jul 22, 2010, 7:49:05 AM7/22/10
to jav...@googlegroups.com
Odeio quando isso acontece, mas sou estagiário e a vida é assim, o problema foi retirado da minha responsabilidade, e passado para outro, quando resolverem, eu posto aqui no grupo qual foi a solução

Obrigado a todos, e em uma próxima duvida eu posto mais detalhes
Reply all
Reply to author
Forward
0 new messages