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 :

Prettyfaces avec JSF2.2 et Primefaces - ManagedBean


Sujet :

JSF Java

  1. #1
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 014
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut Prettyfaces avec JSF2.2 et Primefaces - ManagedBean
    Bonjour, j'ai suivi la doc de pretty faces pour transmettre un paramètre à un attribut d'un managedBean :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        <url-mapping id="inscription1">
            <pattern value="/inscription-#{/[1]/registerManagedBean.actionStr}.html" />
            <view-id value="/WEB-INF/base/register.xhtml" />
        </url-mapping>
    Mon 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    @ManagedBean
    @RequestScoped
    public class RegisterManagedBean extends User implements Serializable {
     
        private String actionStr;
     
        /**
         * Creates a new instance of RegisterManagedBean
         */
        public RegisterManagedBean() {
              System.out.println("actionStr="+actionStr);
      }
    [...]
        /**
         * @return the actionStr
         */
        public String getActionStr() {
            return actionStr;
        }
     
        /**
         * @param actionStr the actionStr to set
         */
        public void setActionStr(String actionStr) {
            this.actionStr = actionStr;
        }
    Le println m'affiche une valeur nulle, je ne vois pas ce que j'ai mal fait.
    Merci pour votre aide.

  2. #2
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 014
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    Bonjour, j'ai remarqué que ma valeur est la bonne dans ma vue mais elle n'est pas dispo dans mon managedBean (valeur nulle).

  3. #3
    Membre averti Avatar de Njörd
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 190
    Points : 390
    Points
    390
    Par défaut
    Bonsoir stc074,

    Personnellement, avec pretty faces, je fais comme suis pour passer des paramètres :

    pretty-config.ini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <url-mapping id="readIdea">
            <pattern value="/lire-idee/#{id}/#{type}" />  
            <view-id value="/plateau/readIdea.jsf" />
            <action>#{ideaBean.readIdea()}</action>
        </url-mapping>
    dans ma vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <h:link outcome="/plateau/readIdea.jsf" styleClass="readMoreBtn ui-corner-all" value="Idée ##{idea.idIdea}" title="Lire cette idée">
           <f:param name="id" value="#{idea.idIdea}" />
           <f:param name="type" value="index" />
    </h:link>
    dans mon bean, l'action readIdea() contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
    Map<String, String> params = externalContext.getRequestParameterMap(); // tu récupères ici les paramètres de la requêtes (regarde un params.toString())
    String id = params.get("id");
    String type = params.get("type");
    Si tu dois récupérer un élément en base de données par exemple, il te faut cast l'ID qui est déclaré en String pour le moment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    try {
          selectedIdea = this.ideaEJB.findById(Integer.parseInt(id)); 
          /* OU */ selectedIdea = this.ideaEJB.findById(Long.parseLong(id)); 
          // ...
    } catch (NumberFormatException e) {
          System.out.println("Error : " + e.getMessage());
    }
    Voilà, j'espère avoir aidé.

    Enjoy

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/09/2014, 16h28
  2. Réponses: 4
    Dernier message: 07/05/2010, 16h16
  3. configuration de Netbeans 6.8 avec JSF2.0,Richface4.0,glassfishv3
    Par khalid7875 dans le forum NetBeans Platform
    Réponses: 0
    Dernier message: 11/12/2009, 20h52

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