Bonjour,
Je rencontre un gros problème de navigation entre mes pages. Nous développons actuellement une webapp avec Spring Web Flow, Spring MVC, Richfaces et JSF.
voici la structure (seul les fichiers les plus importants sont listés)
/WEB-INF/flows/configuration/test/viewtest-flow.xml
/WEB-INF/flows/configuration/test/viewtest.xhtml
/WEB-INF/layout/template.xhtml
/WEB-INF/faces-navigation.xml
/pages/index.xhtml
la page index se base sur le template.xhtml qui contient un menu rich:panel de Richfaces.
Mon fichier faces-navigation.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <rich:panelMenu> <rich:panelMenuItem action="navr" label="test" /> </rich:panelMenu>
Notez que dans le to-view-id il y a écrit flow (sans le 's') car nous avons ceci dans le webflow-config.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <faces-config> <navigation-rule> <from-view-id>*</from-view-id> <navigation-case> <from-outcome>navr</from-outcome> <to-view-id>/flow/configuration/test/viewTest.xhtmll</to-view-id> </navigation-case> </navigation-rule> </faces-config>
J'obtiens une erreur 404 à chaque fois
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <webflow:flow-registry id="flowRegistry" flow-builder-services="facesFlowBuilderServices" base-path="/WEB-INF/flows"> <webflow:flow-location-pattern value="/**/*-flow.xml" /> </webflow:flow-registry>
J'aimerais donc pouvoir aller sur ma page test depuis n'importe quelle page avec une regle de navigation.
Il y a peut également possibilité de configurer le viewtest-flow.xml pour faire ceci également.
Merci à tous de votre aide.
Note : actuellement pour palier le probleme j'ai fait la chose suivante :
avec dans le fichier test-flow.xml la ligne suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <rich:panelMenuItem label="test" onclick="document.location.href='${request.contextPath}/flow/configuration/test';" />
Cet exemple marche mais pas tout le temps car je suis obligé de cliquer plusieurs fois parfois sur l'item pour que la navigation se fasse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <view-state id="viewtest" view="viewtest.xhtml"> </view-state>
PS: nous utilisons tous ces frameworks sur demande du client.
Partager