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 1 Java Discussion :

Problème de date [FAQ]


Sujet :

Struts 1 Java

  1. #21
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 163
    Par défaut
    ça y est j'ai retrouvé mon appli, mais les formats dans ma page qui affiche les date sont en format américain, dans mon formulaire de modification aussi et quand je submit une modification sur la date g :

    DATE DANS EDITACTION : Tue Jan 20 00:00:00 CET 2004
    Target EditAlbumAction :success
    Value '0000-00-00' can not be represented as java.sql.Date

    Pkoi me parle t'il d'sqlDate ??? je les ai tous virer poutant ! je cherche encore ...

  2. #22
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 163
    Par défaut
    Quand je recupère la date dans omn formulaire ou pour un affichage, je le fait de cette manière :

    albumForm.setDateAlbum(rs.getDate("dateAlbum"));

    C bien comme ça qu'il faut faire non ?...

  3. #23
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    Le parser sert lors de la phase de population du FormBean par le RequestProcessor donc, après le reset() et avant le validate().

    Il se charge donc de la conversion des paramètres passés dans le flux http (donc texte) vers les données typées du formBean ( donc java.util.Date ).
    Ce que l'on appel le parsing.

    En ce qui concerne le formatage c'est en règle générale le composant qui prends ça en charge.

    Si tu as des soucis d'affichage,j'en déduis que tu utilise la balise <html:text .. > pour saisir une date.

    Je regarde tout de suite une solution pour la convertion automatique dns l'autre sens !

  4. #24
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 163
    Par défaut
    Oui en effet, j'utilise des balises html:text pour saisir mes informations. Ca marche pas chez moi a cause de ça ?

    Merci de te pencher sur mon soucis Alwin c sympa d'avoir l'avis d'un expert

  5. #25
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    Le problème, c'est qu'en général on utilise une bibliothèque de tag qui permet de saisir les dates avec un DatePicker.
    C'est cette TagLib qui doit prendre en charge la partie formatage.
    Ce n'est pas possible avec le converter car il n'est pas solicité lors de la création de la page JSP.

  6. #26
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 163
    Par défaut
    Pourrais tu me conseiller un biblio de tag me permettant de faire ça ? ou doit on continuer a chercher dans le sens de ta solution avec le converter ?

  7. #27
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    Bouge pas, j'ai que 10 doigts

  8. #28
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    Bon, la solution simple en gardant le Converter !

    Pour commencer, la page de test (test.jsp)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <%@ taglib uri="/tlds/struts-html" prefix="html" %>
    <%@ taglib uri="/tlds/alwin-html" prefix="alwin" %>
     
    <html:form action="/test">
    	<alwin:date property="dateTest" size="30" format="dd/MM/yyyy"/>
    	<html:submit />
    </html:form>
    A vous d'ajuster la définition de vos taglib...

    Ensuite, la classe de mon tag Date :
    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
     
    package org.alwin.util.struts.tags;
     
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
     
    import javax.servlet.jsp.JspException;
     
    import org.apache.struts.taglib.html.TextTag;
     
    public class DateTag extends TextTag {
    	private String format = "dd/MM/yyyy";
    	private DateFormat formater = new SimpleDateFormat(format);
     
     
        protected String formatValue(Object object) throws JspException {
            if( object != null && object instanceof Date ) {
                return formater.format((Date)object);
            } else {
                return super.formatValue(object);
            }
        }
     
    	public String getFormat() {
    		return format;
    	}
     
    	public void setFormat(String format) {
    		this.format = format;
    		formater = new SimpleDateFormat(format);
    	}
    }
    C'est une simple extension de la classe TextTag mais avec la surcharge de la méthode formatValue.
    Note au passage l'ajout d'une propriété format que l'on retrouve dans ma balise sur la page de test.

    Et pour finir, le descripteur pour la nouvelle taglib

    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
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
    <taglib>
    	<tlibversion>1.2</tlibversion>
    	<jspversion>1.1</jspversion>
    	<shortname>alwin</shortname>
    	<tag>
    		<name>date</name>
    		<tagclass>org.alwin.util.struts.tags.DateTag</tagclass>
    		<attribute>
    			<name>format</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>accesskey</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>alt</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>altKey</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>bundle</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>disabled</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>errorKey</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>errorStyle</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>errorStyleClass</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>errorStyleId</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>indexed</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>maxlength</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>name</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>onblur</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>onchange</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>onclick</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>ondblclick</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>onfocus</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>onkeydown</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>onkeypress</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>onkeyup</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>onmousedown</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>onmousemove</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>onmouseout</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>onmouseover</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>onmouseup</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>property</name>
    			<required>true</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>readonly</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>size</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>style</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>styleClass</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>styleId</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>tabindex</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>title</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>titleKey</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    		<attribute>
    			<name>value</name>
    			<required>false</required>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    	</tag>
    </taglib>
    Testé et approuvé !!!

  9. #29
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 163
    Par défaut
    G pas encore testé mais franchement, respect pour tes solutions !!! ça s'appel comment t balises personnalisées ? c du JSTL c ça ?

  10. #30
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Salut DarkWark

    Pour info, il y a un tutoriel ici qui explique ce que sont les JSP taglibs.

Discussions similaires

  1. [XL-2007] Probl formule avec des intervales de dates
    Par alexandrek dans le forum Excel
    Réponses: 0
    Dernier message: 09/02/2011, 11h56
  2. probl champ date
    Par bambino13 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/07/2009, 14h28
  3. Probl insertion date dans db mysql(odbc)
    Par MetalGearBe dans le forum ASP.NET
    Réponses: 2
    Dernier message: 16/03/2007, 16h54
  4. proble de recuperation de date
    Par mikaloop dans le forum Access
    Réponses: 8
    Dernier message: 24/02/2006, 23h01
  5. Réponses: 3
    Dernier message: 19/04/2002, 00h11

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