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 :

[jsf 1.2] Problème Internationalisation


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de wiss85
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 90
    Par défaut [jsf 1.2] Problème Internationalisation
    Bonjour ,

    j'ai un problème avec l'internationalisation de jsf , je perd la langue courante si j’accède à mes pages directement avec l'url (exemple /monApplication/monPage.jsf)
    si j'utilise la navigation de jsf tout fonctionne correctement .

    voici mon code

    Langue.java :
    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
     
    import java.util.Locale;
    import javax.faces.context.FacesContext;
     
     
    /**
     * @author wissem
     *
     */
    public class Langue {
     
    	public Langue() {
    	}
    	public String activerFR() {
    	    FacesContext context = FacesContext.getCurrentInstance();
    	    context.getViewRoot().setLocale(Locale.FRENCH);
    	    return null;
    	  }
     
    	  public String activerEN() {
    	    FacesContext context = FacesContext.getCurrentInstance();
    	    context.getViewRoot().setLocale(Locale.ENGLISH);
    	    return null;
    	  }
    }
    langue.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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:ui="http://java.sun.com/jsf/facelets"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:f="http://java.sun.com/jsf/core" xml:lang="en" lang="en">
    	<head>
    		<title>My Facelets Page</title>
    		<meta http-equiv="keywords" content="enter,your,keywords,here" />
    		<meta http-equiv="description"
    			content="A short description of this page." />
    		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    	</head>
    	<body>
    	<f:view>
    		<h:form>
    	<table >
    				<tr>
    					<td>
    						<h:commandLink action="#{langue.activerFR}" immediate="true">
    							<h:outputText value="#{msg.langue_fr}"  ></h:outputText>
    						</h:commandLink>
    					</td>
    					<td>
    						<h:commandLink action="#{langue.activerEN}" immediate="true">
    							<h:outputText value="#{msg.langue_en}" ></h:outputText>
    						</h:commandLink>
    					</td>
    				</tr>
    				</table>
    	</h:form>
    	</f:view>
    	</body>
    </html>
    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
     
    <managed-bean>
      <managed-bean-name>langue</managed-bean-name>
      <managed-bean-class>tn.app.name.web.langue.Langue</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
     </managed-bean>
     
       <locale-config>
       <default-locale>en</default-locale>
       <supported-locale>fr</supported-locale>
      </locale-config>
      <resource-bundle>
       <base-name>tn.app.name.web.langue.MessageBundle</base-name>
       <var>msg</var>
      </resource-bundle>

  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
    Il faut que tu stockes la locale (en, fr) en String dans un bean, et que tu la transmettes à tes affichages.

    Ajoute ceci dans ton f:view :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:view locale="#{yourBean.selectedLocale}">

Discussions similaires

  1. JSF 1.2 Problème de déploiement
    Par jasminrose dans le forum JSF
    Réponses: 7
    Dernier message: 28/04/2009, 16h07
  2. jsf rich:dataTable (problème avec getRowData)
    Par salimrok dans le forum JSF
    Réponses: 4
    Dernier message: 28/01/2009, 13h57
  3. Problème internationalisation projet Django
    Par jacquesdx dans le forum Django
    Réponses: 6
    Dernier message: 06/01/2009, 21h52
  4. Réponses: 0
    Dernier message: 25/07/2007, 16h49
  5. Réponses: 1
    Dernier message: 19/12/2006, 09h23

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