FAQ JSFConsultez toutes les FAQ
Nombre d'auteurs : 8, nombre de questions : 70, dernière mise à jour : 10 juin 2008 Ajouter une question
Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums de http://www.developpez.com et de l'expérience personnelle des auteurs.
Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.
Explication : lorsque l'on stocke une date dans la base de données (supposons le 07/02/2008), il est effectivement possible que l'heure stockée soit par défaut 00h00 si celle-ci n'est pas précisée.
Lors de l'affichage, le calendrier fait la "conversion" avec les fuseaux horaires pour correspondre à l'affichage du client. Selon la configuration de ce dernier, il est possible que la conversion entraîne une soustraction d'heures, et donc fait passer la date à la veille.
Solution : il suffit de forcer l'utilisation d'une Timezone grâce au composant <f:convertTimeDate> :
Code xml : | Sélectionner tout |
1 2 3 | <h:outputText value="#{monBean.maDate}"> <f:convertDateTime pattern="dd/MM/yyyy" timeZone="Europe/Paris"/> </h:outputText> |
Code xml : | Sélectionner tout |
1 2 3 | <h:outputText value="#{monBean.maDate}"> <f:convertDateTime pattern="#{prop.dateformat}" timeZone="#{prop.timezone}"/> </h:outputText> |
Lorsque vous recevez ce message, c'est que vous essayez d'accéder à une page JSF (contenant des composants JSF) en utilisant le nom réel du fichier et non pas en appliquant le pattern associé à la FacesServlet.
Par exemple, si vous avez configuré le pattern de la FacesServlet comme ceci (dans web.xml) :
Code xml : | Sélectionner tout |
1 2 3 4 | <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> |
Il faut plutôt accéder à la page en utilisant le suffixe jsf, c'est-à-dire avec page.jsf.
Que veut dire le message :
Code : | Sélectionner tout |
com.sun.faces.context.FacesContextImpl addMessage Adding Message[sourceId=xxxxx:xxxxx,summary=Erreur de validation: Valeur not valid.)
Code : | Sélectionner tout |
..... summary=Validation Error: Value is not valid
Par exemple, si la liste des id pour un composant selectOneMenu est construite à partir BigDecimal et que le champ permettant de réceptionner la valeur sélectionnée est de type Integer ce type d'erreur remontera (sans plus d'explication).
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.