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 :

Encoding UTF-8 et JSF / Facelets


Sujet :

JSF Java

Vue hybride

romaintaz Encoding UTF-8 et JSF /... 31/03/2008, 17h04
OButterlin Tu devrais essayer par un... 31/03/2008, 18h05
romaintaz OButterlin, ô joie ! Ta... 01/04/2008, 09h30
heid c'est pas tout simplement... 01/04/2008, 11h58
romaintaz Je n'utilise pas de JSP... 01/04/2008, 12h04
berber5 Votre solution fonctionne à... 06/07/2012, 13h08
fxrobin Si on utilise GlassFish, moi... 10/07/2012, 16h36
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut Encoding UTF-8 et JSF / Facelets
    Hello,

    J'ai besoin d'utiliser l'encodage UTF-8 dans mon application.

    Dans mon code, j'ai par exemple ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <h:form>
        <h:inputText value="#{bean.xxx}"/>
        <h:outputText value="#{bean.xxx}"/>
        <h:commandButton value="Test" action="#{bean.doIt}"/>
        <a4j:commandButton value="Test2" action="#{bean.doIt}"/>
    </h:form>
    Si je tape "Yéyé" dans mon inputText, et que je clique sur le a4j:commandButton, alors l'outputText réaffichera "Yéyé".
    Si je clique sur le h:commandButton, alors l'outputText affichera un truc du genre "Yéyé" !

    Visiblement, l'encodage de base de JSF / Facelets n'est pas UTF-8 !
    Comment je lui définis son encodage de base ? A priori, je dirais dans le web.xml, mais quel context-param faut-il définir ?

    Merchi !

    ps: J'utilise JSF 1.2, Tomcat 5.5, RichFaces 3.1.4, Facelets 1.1.11...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Tu devrais essayer par un filtre, personnellement, c'est ce que je fais (avec struts), ça devrait fonctionner avec jsf (à 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
     
    public class FiltreUTF8 implements Filter
    {
        public void init(FilterConfig filterConfig) throws ServletException {}
     
        public void destroy() {}
     
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
        {
            request.setCharacterEncoding("UTF-8");
            chain.doFilter(request, response);
        }
    }
     
     
    + web.xml
     
    <web-app>
     
     <filter>
      <filter-name>FiltreUTF8</filter-name>
      <filter-class>package.FiltreUTF8</filter-class>
     </filter>
     
     <filter-mapping>
      <filter-name>FiltreUTF8</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
    ...
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    OButterlin, ô joie !

    Ta solution fonctionne 'achement bien ! Joie joie.

    Effectivement, le filter définit comme tu l'as fait me corrige mon problème d'accent même avec le commandButton de "base" !

    Maintenant, je ne comprends pas que cela ne soit pas paramétrable dans le web.xml !
    Je pensais avoir une piste grâce à cette page, mais impossible de faire marcher ce CHARACTER_ENCODING_KEY (ou alors il est utilisé pour autre chose) !

    J'ai essayé dans le web.xml ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        <context-param>
            <param-name>javax.faces.CHARACTER_ENCODING_KEY</param-name>
            <param-value>utf-8</param-value>
        </context-param>
    ou encore ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        <context-param>
            <param-name>javax.faces.CHARACTER_ENCODING_KEY</param-name>
            <param-value>javax.faces.request.charset</param-value>
        </context-param>
    et de définir ce paramètre dans un fichier propriété, mais rien !

    Edit: J'ai aussi essayé de lancer mon Tomcat en mettant -Djavax.faces.request.charset=utf-8, mais ça ne change rien non plus !

    Donc si quelqu'un a une idée pour faire marcher cela sans filter, je serais bien heureux de connaître la solution !
    Merci encore OButterlin !
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  4. #4
    Membre chevronné Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Par défaut
    c'est pas tout simplement dans tes pages JSF?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page language="java" contentType="text/html;charset=UTF-8"%>

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Je n'utilise pas de JSP (pouah) mais des XHTML...
    Donc à moi d'avoir l'équivalent...

    J'avais tout de même essayé en mettant dans un tag HTML META, mais ça ne changeait rien...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  6. #6
    Membre chevronné Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Je n'utilise pas de JSP (pouah) mais des XHTML...
    Arf, chanceux.

  7. #7
    Membre averti
    Inscrit en
    Février 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 28
    Par défaut
    Votre solution fonctionne à merveille un grand merci !!!

    Citation Envoyé par OButterlin Voir le message
    Tu devrais essayer par un filtre, personnellement, c'est ce que je fais (avec struts), ça devrait fonctionner avec jsf (à 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
     
    public class FiltreUTF8 implements Filter
    {
        public void init(FilterConfig filterConfig) throws ServletException {}
     
        public void destroy() {}
     
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
        {
            request.setCharacterEncoding("UTF-8");
            chain.doFilter(request, response);
        }
    }
     
     
    + web.xml
     
    <web-app>
     
     <filter>
      <filter-name>FiltreUTF8</filter-name>
      <filter-class>package.FiltreUTF8</filter-class>
     </filter>
     
     <filter-mapping>
      <filter-name>FiltreUTF8</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
    ...
    A+

  8. #8
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Si on utilise GlassFish, moi j'utilise ça :

    http://www.developpez.net/forums/d12...a/#post6643856

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

Discussions similaires

  1. instruction pour xml Encoder utf-8
    Par totoche dans le forum ASP
    Réponses: 7
    Dernier message: 14/02/2007, 11h03
  2. [PHP] <?xml version="1.0" encoding="UTF-16
    Par pierrot10 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 06/03/2006, 11h22
  3. [SAX] SAXParser et encoding="UTF-8"
    Par mardona dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 08/02/2006, 00h07
  4. problème d'encoding UTF-8 via la SDK MSXML
    Par ep31 dans le forum MFC
    Réponses: 6
    Dernier message: 26/01/2006, 09h46
  5. [1.1] Supprimer xml vers=1.0 encod=utf-8
    Par Nip dans le forum ASP.NET
    Réponses: 9
    Dernier message: 24/11/2005, 16h09

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