IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

problème redirection : JSF+Spring


Sujet :

JSF Java

  1. #1
    Membre actif Avatar de amadoulamine1
    Inscrit en
    Avril 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 260
    Points : 270
    Points
    270
    Par défaut problème redirection : JSF+Spring
    Bonjour à tous
    Je tente de faire une redirection apres un click mais la redirection ne se fait pas
    j'ai essaye de regarder ce qui clochait mais en vain
    voici mon web.xml
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    	<display-name>Supervision JSF</display-name>
    	<!-- Spring Config -->
    	<context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>classpath:application-context.xml</param-value>
    	</context-param>
    	<!-- context-param> <param-name>javax.faces.CONFIG_FILES</param-name> <param-value>WEB-INF/faces-config.xml</param-value> 
    		</context-param -->
    	<filter>
    		<filter-name>filtre richface</filter-name>
    		<filter-class>org.ajax4jsf.Filter</filter-class>
    	</filter>
    	<filter-mapping>
    		<filter-name>filtre richface</filter-name>
    		<servlet-name>faces Servlet</servlet-name>
    	</filter-mapping>
    	<!-- Listeners -->
    	<listener>
    		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	</listener>
    	<listener>
    		<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
    	</listener>
    	<servlet>
    		<servlet-name>faces Servlet</servlet-name>
    		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>faces Servlet</servlet-name>
    		<url-pattern>*.jsf</url-pattern>
    	</servlet-mapping>
    </web-app>
    faces-config.xml
    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
    <?xml version="1.0"?>
    <faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
    	xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
    	<navigation-rule>
    		<display-name>test</display-name>
    		<from-view-id>*</from-view-id>
    		<navigation-case>
    			<from-outcome>detail</from-outcome>
    			<to-view-id>/userdetail.jsp</to-view-id>
    		</navigation-case>
    		<navigation-case>
    			<from-outcome>list</from-outcome>
    			<to-view-id>/userlist.jsp</to-view-id>
    		</navigation-case>
    	</navigation-rule>
    	<application>
    		<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
    	</application>
    </faces-config>
    jsp "userlist.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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <h:form id="mainForm">
    <rich:dataTable id="userList" value="#{userBean.listUser}"
    				var="userCourant" style=" width : 211px;">
    				<rich:column id="userId">
    					<f:facet name="header">
    						<h:outputText value="Id_User" />
    					</f:facet>
    					<h:outputText value="#{userCourant.userId}" />
    				</rich:column>
    				<rich:column id="login">
    					<f:facet name="header">
    						<h:outputText value="login" />
    					</f:facet>
    					<h:outputText value="#{userCourant.login}" />
    				</rich:column>
    				<rich:column id="password">
    					<f:facet name="header">
    						<h:outputText value="password" />
    					</f:facet>
    					<h:outputText value="#{userCourant.password}" />
    				</rich:column>
    				<rich:column id="actions">
    					<f:facet name="header">
    						<h:outputText value="actions" style="FONT-STYLE: italic;" />
    					</f:facet>
    					<h:commandLink id="actionView" action="#{userBean.vueDetail}"
    						value="action">
    						<f:param  name="userIdParam" value="#{userCourant.userId}" />
    					</h:commandLink>
    				</rich:column>
    			</rich:dataTable>
    </h:form>
    bean
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    @Controller
    @Scope("session")
    public class UserBean implements Serializable {
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    	@Autowired
    	private UserService userService;
    	private User userCourant;
    	private User user;
    	private List<User> listUser;
    	private UIDataTable dataTable;
    	private int numero;
     
     
    	@PostConstruct
    	public void init(){
    		listUser=userService.findAll();
    	}
     
    	public String vueNouveau(){
    		setUserCourant(new User());
    		return "detail";
    	}
     
    	public String vueDetail(){
    		HttpServletRequest req = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
    		userCourant = (User)req.getAttribute("userCourant");
    		System.out.println(userCourant.getNom());;
     
    		return "detail";
    	}
     
    //getters and setters
    }
    Merci d'avance
    Ne testez jamais une erreur que vous ne savez pas gérer.
    de ne pas oublier

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 65
    Points : 53
    Points
    53
    Par défaut
    Voici un exemple de "navigation rules", il n'y a pas d'imbriquation, ce qui est le cas chez toi :

    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
       <navigation-rule>
        	<display-name>inscriptionEtape1</display-name>
        	<from-view-id>/inscriptionEtape1.jsp</from-view-id>
        	<navigation-case>
        		<from-outcome>annulation1</from-outcome>
        		<to-view-id>/inscriptionAnnuler.jsp</to-view-id>
        	</navigation-case>
        </navigation-rule>
     
        <navigation-rule>
        	<display-name>inscriptionEtape2</display-name>
        	<from-view-id>/inscriptionEtape2.jsp</from-view-id>
        	<navigation-case>
        		<from-outcome>retourVersEtape1</from-outcome>
        		<to-view-id>/inscriptionEtape1.jsp</to-view-id>
        	</navigation-case>
        </navigation-rule>
    Dans ta vue, comme action sur ton composant, tu peux directement écrire le nom du cas de navigation, comme par exemple "retourVersEtape1", tu n'es donc pas obligé de passer par un managedBean, si tu dois absolument passer par un managedBean tu peux alors retourner un String qui vaut "retourVersEtape1" dans le cas de cet exemple.

  3. #3
    Membre actif Avatar de amadoulamine1
    Inscrit en
    Avril 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 260
    Points : 270
    Points
    270
    Par défaut
    merci beaucoup
    Ne testez jamais une erreur que vous ne savez pas gérer.
    de ne pas oublier

  4. #4
    Membre du Club Avatar de koack
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 60
    Points : 68
    Points
    68
    Par défaut
    bonjour a vous deux,

    juste une precision :

    cf la FAQ :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Comment spécifier une règle de navigation (navigation-rule) ? [haut]  
     
    auteur : djo.mos 
    dans faces-config.xml, il faut ajouter un élément <navigation-rule> : 
    <navigation-rule>
    	<display-name>test</display-name>
    	<from-view-id>/pageSource.jsp</from-view-id>
    	<navigation-case>		
    		<from-outcome>ok</from-outcome>
    		<to-view-id>/pageDestination.jsp</to-view-id>
    	</navigation-case>
    </navigation-rule>
     
    
    avec:
    
    
    •<from-view-id> désigne la page source 
    •<navigation-case> représente un cas de navigation partant de la page source. 
    Il est parfaitement possible d'inclure plusieurs cas de navigation dans une seule règle de navigation.
     
    •<from-outcome> représente le résultat d'une action qui active ce cas de navigation 
    •et enfin, <to-view-id> représente la page destination, i.e. la page ou redériger. 
    Pour plus de contrôle, il est possible d'affiner encore le outcome en le contraignant à une action particulière: 
    <navigation-case>
    	<from-action>#{monManagedBean.monAction}</from-action>
    	<from-outcome>ok</from-outcome>
    	<to-view-id>/pageDestination.jsp</to-view-id>
    </navigation-case>
     
    
    Enfin, il est possible d'utiliser un redirect au lieu de forward (comportement par défaut) en ajoutant l'élément <redirect /> dans le navigation-case.
    Donc je ne pense pas que ce soit son probleme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probléme avec JSF+Spring
    Par achbend dans le forum JSF
    Réponses: 4
    Dernier message: 03/01/2014, 12h04
  2. probléme redirection jsf
    Par fahdijbeli dans le forum JSF
    Réponses: 4
    Dernier message: 09/01/2013, 17h40
  3. Problème avec JSF + Spring + Hibernate
    Par chahrazedd dans le forum JSF
    Réponses: 1
    Dernier message: 31/07/2011, 15h38
  4. Problème de redirection en Spring
    Par poitou82 dans le forum Spring
    Réponses: 0
    Dernier message: 01/06/2011, 14h51
  5. Problème jsf + spring security
    Par gabz57 dans le forum JSF
    Réponses: 1
    Dernier message: 24/05/2011, 22h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo