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

Struts 2 Java Discussion :

Format de date dans actionStruts2


Sujet :

Struts 2 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Par défaut Format de date dans actionStruts2
    Bonjour à tous,
    J'ai une appli struts qui doit être internationalisée.
    J'ai réussi plus ou moins à localiser mes messages, mais impossible que stuts parse les dates saisies dans un formulaire en fonction de la Locale.
    J'ai vu un tas de trucs sur le web, aucun n'a marché.
    Des idées??? Je suis preneur d'exemples concrets plus que de vagues concepts.

    Merci d'avance de vos réponses.
    Francillo

  2. #2
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut
    Citation Envoyé par francillo Voir le message
    Bonjour à tous,
    J'ai une appli struts qui doit être internationalisée.
    J'ai réussi plus ou moins à localiser mes messages, mais impossible que stuts parse les dates saisies dans un formulaire en fonction de la Locale.
    J'ai vu un tas de trucs sur le web, aucun n'a marché.
    Des idées??? Je suis preneur d'exemples concrets plus que de vagues concepts.

    Merci d'avance de vos réponses.
    Francillo
    Et pour info, à la base, je crois qu'il y a déjà un bug avec la gestion de la locale : http://jira.opensymphony.com/browse/XW-670.

    Mais sinon moi j'ai la même problématique : http://www.developpez.net/forums/d77...t/#post4460590.

    tu as la solution de faire :
    <s:textfield key="maDate" value="%{getText('format.date',{maDate})}" />
    mais ca ne marche pas lors d'une erreur de conversion (on perd la valeur saisie).

    Je suis en train de débugger essayer d'avancer.

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut
    Bon j'ai trouvé le code aqui affiche la date dans le texte field, il s'agit de la class com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter et voici la méthode :


    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
        private String doConvertToString(Map<String, Object> context, Object value) {
            String result = null;
     
            if (value instanceof int[]) {
                int[] x = (int[]) value;
                List<Integer> intArray = new ArrayList<Integer>(x.length);
     
                for (int aX : x) {
                    intArray.add(Integer.valueOf(aX));
                }
     
                result = TextUtils.join(", ", intArray);
            } else if (value instanceof long[]) {
                long[] x = (long[]) value;
                List<Long> longArray = new ArrayList<Long>(x.length);
     
                for (long aX : x) {
                    longArray.add(Long.valueOf(aX));
                }
     
                result = TextUtils.join(", ", longArray);
            } else if (value instanceof double[]) {
                double[] x = (double[]) value;
                List<Double> doubleArray = new ArrayList<Double>(x.length);
     
                for (double aX : x) {
                    doubleArray.add(new Double(aX));
                }
     
                result = TextUtils.join(", ", doubleArray);
            } else if (value instanceof boolean[]) {
                boolean[] x = (boolean[]) value;
                List<Boolean> booleanArray = new ArrayList<Boolean>(x.length);
     
                for (boolean aX : x) {
                    booleanArray.add(new Boolean(aX));
                }
     
                result = TextUtils.join(", ", booleanArray);
            } else if (value instanceof Date) {
                DateFormat df = null;
                if (value instanceof java.sql.Time) {
                    df = DateFormat.getTimeInstance(DateFormat.MEDIUM, getLocale(context));
                } else if (value instanceof java.sql.Timestamp) {
                    SimpleDateFormat dfmt = (SimpleDateFormat) DateFormat.getDateTimeInstance(DateFormat.SHORT,
                            DateFormat.MEDIUM,
                            getLocale(context));
                    df = new SimpleDateFormat(dfmt.toPattern() + MILLISECOND_FORMAT);
                } else {
                    df = DateFormat.getDateInstance(DateFormat.SHORT, getLocale(context));
                }
                result = df.format(value);
            } else if (value instanceof String[]) {
                result = TextUtils.join(", ", (String[]) value);
            }
     
            return result;
        }
    Comme on voit STRUTS propose dans son converteur un truc bidon : DateFormat.SHORT qui convient pas du tout. Perso, je pense donc que je vais voir si avec mon propre Date converter, ca peut marcher correctement ou pas.

    Ce qui restera quand même très regrettable c'est que dans la faq STRUTS il n'y ait pas un mot sur le sujet... ou plutôt si il y a un mot mais c'est carrement n'importe quoi quand même.

Discussions similaires

  1. format de date dans SQL/serv 2000
    Par philo71 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/10/2005, 15h52
  2. comment imposer un format de date dans DB2?
    Par Mittou dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/10/2005, 08h16
  3. [SQL 9i ] format de date dans un where
    Par booth dans le forum Oracle
    Réponses: 5
    Dernier message: 14/10/2005, 10h23
  4. [oracle][delphi] Problème format de date dans une requete
    Par le_parrain dans le forum Bases de données
    Réponses: 1
    Dernier message: 21/07/2005, 10h12
  5. [VBA] Pb de format des dates dans un état
    Par linda15975 dans le forum IHM
    Réponses: 45
    Dernier message: 21/06/2005, 14h49

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