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 :

utilisation savestate de tomahawk


Sujet :

JSF Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 226
    Par défaut utilisation savestate de tomahawk
    Bonjour,
    suite à mon post JSF validator, null problem, second round (http://www.developpez.net/forums/d95...d/#post5360842)
    Je suis partie sur 2 solutions différentes. Aucune ne fonctionne alors j'ai préféré continuer avec la solution du Bean dans l'autre post et ouvrir celui-là pour la solution tomahawk. Si non c'est le bordel...

    Description du problème:
    J'ai un formulaire JSF. Avec un bean avec le scope request. Cela obligatoire car mon formulaire peut être chargé plusieurs fois dans la même session mais avec des valeurs différentes.
    Mais j'ai certains validators sur des inputText. Quand on clique sur mon bouton save et que un validator donne une erreur, le formulaire est rechargé, mais certaines valeurs restent vides!

    Pour l'output et le champs en lecture seule, ce mécanisme n'existe pas, puisque les valeur soumises sont par définition ignorées. Donc, dans ce cas là, le composant va bien relire dans le bean (alors que tous les autres composants sont réaffichés depuis les valeurs interne du composant). Conclusion qui me sembele évidente: si ton output ne s'affiche plus après erreur de validation, c'est que le bean sur lequel tu va chercher l'info ne l'a plus. Probablement parce qu'il a été réinitialisé entre les deux requêtes (bean request scope).
    On m'a donc conseillé d'utiliser le savestate de tomahawk, mais je n'y arrive pas...

    J'ai téléchargé la librairie (tomahawk-1.1.9.jar) que j'ai copié dans "web-inf/lib" de mon projet.

    Dans ma page .jsp je l'ai déclarée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%@ taglib 
    	uri="http://myfaces.apache.org/tomahawk" 
    	prefix="t"%>
    J'ai utilisé le tag de cette façon (et d'autres encore, mais sans résultat):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <body>
    <t:saveState id="state1" value="#{tForm.viewST}"/>
     
    <f:view>
    ......
    	<h:outputText
    		value="#{tForm.viewST}"
    		converter="xmlToHtmlConverter"
    		escape="false" />
    .....
    J'ai aussi essayé de sauvegarder tout mon bean:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <t:saveState id="saveTForm" value="#{tForm}"/>

    Mon bean dans faces-config.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <managed-bean>
            <managed-bean-name>tForm</managed-bean-name>
            <managed-bean-class>com.tx.ss.bean.TForm</managed-bean-class>
            <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    J'ai ajouté à ma classe l'implements java.io.Serializable:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public class TForm extends test implements java.io.Serializable{
    ...

    Mes valeurs sont toujours nulles au deuxième appelle de ma page...
    Est-ce qu'il y a d'autres modifications à faire dans mon code, ou cela est suffisant?
    Le saveState fait comment pour savoir quand il doit rendre la valeur? Et quand il doit l'effacer??

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 226
    Par défaut
    J'ai tout enlevé et tout remis et ça fonctionne...je ne sais pas pourquoi, mais ça fonctionne...

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

Discussions similaires

  1. Garder un objet jsf en vie saveState Tomahawk
    Par rizki1 dans le forum JSF
    Réponses: 0
    Dernier message: 09/06/2010, 15h52
  2. [tomahawk] - Utilisation de panelNavigation2
    Par Elwe31 dans le forum JSF
    Réponses: 6
    Dernier message: 19/12/2008, 11h10
  3. jsf utilisation de tomahawk
    Par pass38 dans le forum JSF
    Réponses: 2
    Dernier message: 22/06/2007, 16h20
  4. [Tomahawk] pouvoir l'utiliser
    Par maximus001ma dans le forum JSF
    Réponses: 4
    Dernier message: 31/08/2006, 11h11
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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