Bonjour à tous.

Je vous explique mon problème: j'ai 2 applications web distinctes construites toutes les 2 via JSF.

On me demande aujourd'hui de pouvoir passer d'un écran de l'application A, vers un écran de l'application B en conservant bien entendu la locale de l'utilisateur.

Ce qui existait pour l'instant c'est une page entry.jsp qui s'occupait de récupérer la langue passée dans l'url et se contentait d'afficher la page d'accueil de l'application. Mais maintenant le besoin a changé et je dois pouvoir directement via un lien hypertexte d'une page de mon application A passer sur une autre page de mon application B.

L'approche que j'ai eu est la suivante: je fais passer en paramètre dans l'url la page que je désire atteindre ainsi qu'une éventuelle donnée que le bean de destination devra recevoir (id d'un record par exemple).

Alors voici ce que j'ai fait:

Ma page JSP qui est appelée directement via l'url (entry.jsp):

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
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
 
 
<%@page import="javax.faces.context.FacesContext"%>
 
<%@page import="package.beans.NavigationBean"%><f:view locale="#{navigationBean.initialSetup}">
	<f:loadBundle var="msg" basename="package.bundle.messages" />
 
	<html>
		<body>
			<%	
				response.sendRedirect(response.encodeRedirectURL("welcome.faces"));
			%>
		</body>
	</html>
</f:view>
Dans la méthode initialSetup de mon NavigationBean, je sette la locale ainsi que la page de destination (après vérification qu'il s'agisse bien d'une page "autorisée") et la donnée associée.

Dans mon faces-config.xml, j'ai placé cette règle de navigation:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
	<navigation-rule>
		<display-name>*</display-name>
		<from-view-id>*</from-view-id>
		<navigation-case>
			<from-outcome>B2420</from-outcome>
			<to-view-id>/pages/monitoring/monitoringManager.jsp</to-view-id>
		</navigation-case>
<navigation-rule>
Et donc, j'aimerai que lorsque la page entry.jsp soit appelée avec un paramètre page contenant la valeur "B2420" l'application B s'ouvre avec un la page JSP monitoringManager.

Malheureusement, je ne sais pas trop comment via entry.jsp je pourrais faire exécuter cette navigation-rule...

Pouvez-vous m'aider? Je suis certain que c'est une bêtise mais je ne parviens pas à trouver.

Je vous en remercie d'avance!