Servlet Filter + JSF : Problemas de navegação

Olá pessoal…

Estou tendo um problema e ainda não descobri a resposta…

Segue abaixo as caracteristicas do codigo

  1. Estou usando Filter para autenticacao de usuarios. (PhaseListener nao foi adotado)
  2. Para que este filter funcione, todas as paginas tratadas com navigation do JSF estao com
  3. Estou usando commandLink para chamar uma pagina

ex:

<html:commandLink action="createUser">
   <jsf:param name="operation" value="create" />
   <html:outputText value="Criar Usuario" />
</html:commandLink> 

Na pagina que será chamada por meio das regras de navegacao do JSF, eu devo conseguir resgatar o valor do parametro passado. “operation”.
Mas isso não funciona pois o uso do elimina meus parametros, e se eu nao usar meu navigation nao funciona com Filter.
Entao eu teria que usar

<html:outputLink value="createUser.jsf">
  <jsf:param name="operation" value="create" />
  <html:outputText value="Criar Usuario/>
</html:outputLink>

mas isso é ruim pois nao me permite usar as regras de navegacao.

Alguem sabe como fazer algo assim?

  • Usando as regras de navegacao
  • Usando um servlet Filter para autenticacao de usuarios do sistema
  • Usando ou algo semelhante para que funcione o Filter
  • Nao usando links diretamente nas paginas
    ???

valeu…

Muda o escopo dos beans para session, daí vc pode usar redirect à vontade. Porém vai ter que lembrar de “limpá-los”

valeu amigo…

mas isso poderia causar um overhead no sistema… Varios beans tem as referentes paginas com commandLinks que passam parametros de acao, e todos eles devem ter escopo request.

Bem, vc pode também não usar servlet filter pra autenticar os usuários, mas implementar um PhaseListener, acho que resolveria a maioria dos seus problemas, e vc não precisaria usar redirect.

resolveria sim… Varios problemas que estamos enfrentando são provenientes do uso desse filtro do servlet, tenho que convencer o pessoal a colocar o PhaseListener, eheh…

Só queria mesmo saber se existe algum outro truque na manga em casos como este…

valeu amigo.