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 :

Impossible de récupérer un paramètre dans l'URL


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 60
    Par défaut Impossible de récupérer un paramètre dans l'URL
    Bonjour,

    Je n'arrive pas à récupérer un paramètre dans l'une de mes pages :

    URL : http://localhost:8080/techniweb/page...on.sav?id=5555

    XHTML :
    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
     
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:h="http://xmlns.jcp.org/jsf/html"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:p="http://primefaces.org/ui"
          xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
        <h:head>
            <title>LinkRedirection</title>
        </h:head>
        <h:body>
            <h:form>
                <p:remoteCommand action="#{linkRedirectionBean.redirect()}" autoRun="true"/>
            </h:form>
        </h:body>
    </html>

    ManagedBean :
    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
     
    @Named
    @ViewScoped
    public class LinkRedirectionBean implements Serializable {
     
        @PostConstruct
        public void init(){
            System.out.println(FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id"));
        }
     
        public String redirect(){
            return "";
        }
     
    }
    Le "System.out.println" renvoie toujours "null"

    J'ai essayer de mettre le "System.out.println(FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id"));" dans le PostConstruct une autre page déjà codé et sa marche, je ne sais plus quoi faire

    Une idée ??

    Merci d'avance

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    Bonjour,

    Comme ça a vue de nez je serais tenté de dire que c'est par ce que tu as un @ViewScoped et que le @PostConstruct est lancé juste après l'instanciation de la classe, pas au moment de ta requête.
    As tu essayé de faire ton System.out dans la méthode redirect ?
    Ou alors passer en @RequestScoped ?
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 60
    Par défaut
    Alors j'ai fait les modifs :

    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
     
    @Named
    @RequestScoped
    public class LinkRedirectionBean implements Serializable {
     
        @PostConstruct
        public void init(){
            System.out.println(FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id"));
        }
     
        public String redirect(){
            System.out.println(FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id"));
            return "";
        }
     
    }
    Idem : renvoie null dans les deux System.out.print()

    J'ai aussi remarqué un truc bizarre: en mod debug dans "FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap()" j'ai 6 éléments à l’intérieur qui n'ont rien à voir avec mon url

    Dans un autre Bean manager (en ViewScoped) sa marche nickel, et dans "FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap()" j'ai bien 1 seul élément avec id=5555

    ManagedBean où sa marche :

    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
    39
    40
     
    @Named
    @ViewScoped
    public class GestionCreationBean implements Serializable {
     
        @Inject
        private ContactFacade contactFacade;
        @Inject
        private EmployeFacade employeFacade;
        @Inject
        private UserSessionBean userSession;
        @Inject
        private TypeInterventionFacade typeInterventionFacade;
        @Inject
        private FinancementFacade financementFacade;
        @Inject
        private NiveauBlocageFacade niveauBlocageFacade;
        @Inject
        private InterventionFacade interventionFacade;
        @Inject
        private SocieteFacade societeFacade;
        @Inject
        private LogsFacade logsFacade;
        @Inject
        private ExchangeWebService ews;
     
        private Contact contactDeRecherche;
        private Contact contactSelected;
        private String libelleFieldSet;
        private Intervention intervention;
        private Appel appel;
     
        @PostConstruct
        public void init() {
            System.out.println(FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id"));
            this.contactDeRecherche = null;
            this.contactSelected = null;
            this.intervention = new Intervention();
            this.appel = new Appel();
        }
    JSF se fous de moi ... lol

  4. #4
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    Salut
    as tu essayé en enlevant le viewScoped?

    Eric

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 60
    Par défaut
    Oui si te regarde j'ai mis mon ManagedBean en RequestScope, et de toute façon le ManagedBean où cela fonctionne est en ViewScoped donc pas de raison que ce soit sa je pense

  6. #6
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    salut peux-tu faire juste un test voir:

    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
     
    @ManagedBean
    @ViewScoped
    public class LinkRedirectionBean implements Serializable {
     
    	/**
             * 
             */
    	private static final long serialVersionUID = -3283630074515953008L;
     
    	private String test;
     
    	@PostConstruct
    	public void init() {
    		String a = (FacesContext.getCurrentInstance().getExternalContext()
    				.getRequestParameterMap().get("id"));
    		test = a;
    		System.out.println(a);
    	}
     
    	public String redirect() {
    		return "";
    	}
     
    	public String getTest() {
    		return test;
    	}
     
    	public void setTest(String test) {
    		this.test = test;
    	}
     
    }
    et dans ton code html:
    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
     
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:ui="http://java.sun.com/jsf/facelets">
        <h:head>
            <title>LinkRedirection</title>
        </h:head>
        <h:body>
            <h:form>
                <h:inputText value="#{linkRedirectionBean.test}"/>
                <h:commandButton action="#{linkRedirectionBean.redirect}" />
            </h:form>
        </h:body>
    </html>
    Eric

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 60
    Par défaut
    Alors je viens de faire un test
    J'ai juste mis un <h:outputText value="#{param.id}"/> dans mon code

    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
     
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:h="http://xmlns.jcp.org/jsf/html"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:p="http://primefaces.org/ui"
          xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
        <h:head>
            <title>LinkRedirection</title>
        </h:head>
        <h:body>
            <h:form>
                <h:outputText value="#{param.id}"/>
                <p:remoteCommand action="#{linkRedirectionBean.redirect()}" autoRun="true"/>
            </h:form>
        </h:body>
    </html>
    Le outputText affiche bien mon id dans la page mais j'ai toujours null dans mes System.out.print() .... je sais plus quoi penser la ...

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

Discussions similaires

  1. Récupérer un paramètre dans l'URL
    Par monta_amri dans le forum JSF
    Réponses: 0
    Dernier message: 03/04/2015, 16h08
  2. [2008R2] Impossible de passer des paramètres dans l'URL du rapport
    Par martial80 dans le forum SSRS
    Réponses: 21
    Dernier message: 31/05/2012, 17h46
  3. Récupérer un paramètre dans une URL
    Par CodeKiller dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 21/07/2008, 10h34
  4. Récupérer un paramètre dans l'url
    Par figatelliSTI dans le forum Zend Framework
    Réponses: 1
    Dernier message: 15/04/2008, 16h29
  5. récupérer les paramètres dans une url
    Par asetti dans le forum ASP
    Réponses: 6
    Dernier message: 23/12/2005, 10h08

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