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 :

#{locale.supportedLocales} est vide avec JSF 2.0 and CDI


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut #{locale.supportedLocales} est vide avec JSF 2.0 and CDI
    Bonjour à tous,

    j'utilise jsf2.0 et cdi ... dans mon template lorsque j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <h:selectOneMenu valueChangeListener="#{localeSelector.select}">
                        <f:selectItems value="#{locale.supportedLocales}"/>
                 </h:selectOneMenu>
    je recois un liste vide de supportedLocales ...

    voici mon faces config:

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- This file is not required if you don t need any extra configuration. -->
    <faces-config version="2.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-facesconfig_2_0.xsd">
     
        <factory>
            <external-context-factory>be.context.CustomExternalContextFactory</external-context-factory>
        </factory>   
     
        <application>
            <locale-config>
                <default-locale>en</default-locale>
                <supported-locale>en</supported-locale>
                <supported-locale>fr</supported-locale>
                <supported-locale>nl</supported-locale>
            </locale-config>     
     
            <resource-bundle>
                <base-name>be.CustomResourceBundle</base-name>
                <var>msg</var>
            </resource-bundle>   
        </application>
    </faces-config>
    et 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
     
    <?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">
     
     
        <!-- JSF 2.0 Servlet activates automatically when the WEB-INF/faces-config.xml descriptor is present -->
        <servlet-mapping>
            <servlet-name>Faces Servlet</servlet-name>
            <url-pattern>*.jsf</url-pattern>
        </servlet-mapping>
     
        <servlet>
            <servlet-name>Faces Servlet</servlet-name>
            <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
     
        <context-param>
            <param-name>javax.faces.FACELETS_RESOURCE_RESOLVER</param-name>
            <param-value>be.resolver.CustomResourceResolver</param-value>
        </context-param>
     
        <context-param>  
            <param-name>primefaces.THEME</param-name>  
            <param-value>aristo</param-value>  
        </context-param>  
    </web-app>
    J'ai oublié de mettre un listener dans mon web.xml ???

    Jamila

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Par défaut
    Pour récupérer les locales j'ai une classe helper.

    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' encoding='UTF-8'?>
    <faces-config version="2.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-facesconfig_2_0.xsd">
     
        <application>
            <resource-bundle>
                <base-name>org.simplicity2k.application.bundle.language</base-name>
                <var>message</var>
            </resource-bundle>
            <locale-config>
                <default-locale>fr</default-locale>
                <supported-locale>en</supported-locale>
                <supported-locale>fr</supported-locale>
            </locale-config>
        </application>
     
    </faces-config>
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    /*
     * LanguageBean.java
     */
    package org.simplicity2k.application.helper;
     
    import java.io.Serializable;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Locale;
    import java.util.Map;
    import javax.annotation.PostConstruct;
    import javax.annotation.PreDestroy;
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.SessionScoped;
    import javax.faces.context.FacesContext;
     
    /**
     * @author simplicity2k
     * @version 1.0-SNAPSHOT
     */
    @ManagedBean
    @SessionScoped
    public class LanguageBean implements Serializable {
     
        private static final long serialVersionUID = 113050854352270339L;
        /** The current locale name (eg. en, fr, ...). */
        private String currentLanguage;
        /**
         * The hashmap of locales.
         * The key equals the locale name (eg. en, fr, ...).
         * The related value is the corresponding Locale object.
         */
        private Map<String, Locale> localeHashMap;
     
        /**
         * Creates a new instance of LanguageBean and initializes bean's properties.
         */
        public LanguageBean() {
            currentLanguage = null;
            localeHashMap = new HashMap<String, Locale>();
        }
     
        /**
         * Method called after constructor method.
         */
        @PostConstruct
        public void load() {
            loadLanguageBean();
        }
     
        /**
         * Method called at the end of the bean lifecycle.
         */
        @PreDestroy
        public void unload() {
        }
     
        /**
         * Loads the hashmap with all the locales set in the faces-config.xml.
         */
        private void loadLanguageBean() {
     
            FacesContext facesContext = FacesContext.getCurrentInstance();
            Iterator<Locale> localeIterator = facesContext.getApplication().getSupportedLocales();
     
            if (currentLanguage == null) {
                currentLanguage = facesContext.getApplication().getDefaultLocale().getLanguage();
            }
     
            while (localeIterator.hasNext()) {
                Locale locale = localeIterator.next();
                localeHashMap.put(locale.getLanguage(), locale);
            }
     
        }
     
        /**
         * Getter for the current language (eg. en, fr, ...).
         * @return The current language.
         */
        public String getCurrentLanguage() {
            return currentLanguage;
        }
     
        /**
         * Setter for the current language (eg. en, fr, ...).
         * @param The current language.
         */
        public void setCurrentLanguage(String currentLanguage) {
            this.currentLanguage = currentLanguage;
            FacesContext.getCurrentInstance().getViewRoot().setLocale(new Locale(currentLanguage));
        }
    }

Discussions similaires

  1. [Security] [JSF] principal.username est vide
    Par soony dans le forum Spring
    Réponses: 2
    Dernier message: 22/12/2010, 17h22
  2. Tester si un repertoire est vide avec ANT
    Par DevServlet dans le forum ANT
    Réponses: 1
    Dernier message: 02/04/2009, 10h28
  3. Réponses: 4
    Dernier message: 30/03/2009, 12h45
  4. avoir un enregistrement avec des zéros quand la requête est vide
    Par dodie84 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/05/2008, 14h41
  5. Réponses: 2
    Dernier message: 21/05/2007, 09h24

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