Bonjour, je suis actuellement entrain de développer une application JSF + facelets. (Et..et...je débute en JSF).
Dans cette application il y a une page d'authentification etj'aimerais que l'on arrive sur cette dernière si on est pas un utilisateur enregistré.

Je me suis dit (peut être naïvement) qu'en mettant dans le template.xhtml
une balise "choose" que je pourrais, en fonction de l'existence de l'utilisateur dans la session, et ce quelques soit la page qui invoque ce template bien précis, faire ma redirection vers ma "view-id" login de mon fichier faces-config.xml.

Un bout de code vaut mieux qu'un long discours:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:t="http://myfaces.apache.org/tomahawk"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:c="http://java.sun.com/jstl/core">
 
(...)
 
 
<c:choose>
  <c:when test="${sessionScope.user== null}">
        //ici j'aimerais rediriger vers l'action login
  </c:when>
  <c:otherwise>
  (...)
  <ui:insert:"content"/>
  (...)
  </c:otherwise>
<c:choose>
(...)
Un deuxieme bout de code vaut mieux qu'un deuxieme long discours :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
(...)
<navigation-rule>
	<from-view-id>*</from-view-id>
	<navigation-case>
	<from-outcome>login</from-outcome>
	<to-view-id>/login.xhtml</to-view-id>
	</navigation-case>
</navigation-rule>
(...)
Nikel, la condition fonctionne et empêche le template de charger le reste et donc d'inclure les vues!

Le soucis: comment faire une telle redirection?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
(...)
<c:when test="${sessionScope.user== null}">
        //ici j'aimerais rediriger vers l'action login
  </c:when>
(...)
Quelqu'un à une idée (ou peut-être une solution plus élégante) ?

(merci d'avance)