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 :

JSF validator, null problem, second round


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 JSF validator, null problem, second round
    Bonjour,

    suite à mon dernier post JSF validator, null problem (http://www.developpez.net/forums/d95...-null-problem/) j'ai fait plusieurs test avec mon code.
    Je suis arrivée à la conclusion que dans 4 cas, la valeur précédente à l'erreur donnée par mon validator n'est plus retournée:

    1. disabled="true"
    La valeur d'origine n'est pas retournée.


    2. quand le value est conditionné, exemple pour 2 inputText:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    value="#{testForm.status == 0 ? 'Ready' : testForm.status == 1 ? 'Act' : testForm.status == 2 ? 'Deact' : testForm.status == 3 ? 'Test' : 'Unknown'}"
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    value="#{testForm.type==10 ? 'S' : testForm.type==2 ? 'H' : ''}"
    Dans ce cas, la page affiche l'erreur Error during model Data Update à côté du champ.

    3. le champ est un outputText

    4. le rendered a certains conditions:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rendered = "#{auth.history}"
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rendered="#{empty auth.partner}"
    c'est OK, mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rendered="#{not empty testForm.test && (testForm.status==1 || testForm.status==3)}" />
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rendered="#{not empty testForm.testFields['OS_VERSION']}"
    ne fonctionnent pas! À noter que si j'affiche les valeur des conditions dans un inputText, cela ne sont pas vides!

    Pourquoi celà?? Comment faire pour récupérer ces valeurs??

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Si le composant est disable ou que le rendered est à false au début, il n'est pas présent dans le DOM, donc la valeur n'est pas transmise.
    Pour éviter ces problèmes, il vaut mieux mettre la condition sur un composant parent un panelGroup par exemple.

    le Et logique avec la version de EL avec JSF 1.2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rendered="#{bean.condition1 and bean.condition2}"

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par Bobble Voir le message
    .
    Je suis arrivée à la conclusion que dans 4 cas, la valeur précédente à l'erreur donnée par mon validator n'est plus retournée:

    1. disabled="true"
    La valeur d'origine n'est pas retournée.
    Les champs disabled ne sont pas soumis par le forumlaire -> exclu du apply_request value/validation/stockage dans les bean

    2. quand le value est conditionné, exemple pour 2 inputText:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    value="#{testForm.status == 0 ? 'Ready' : testForm.status == 1 ? 'Act' : testForm.status == 2 ? 'Deact' : testForm.status == 3 ? 'Test' : 'Unknown'}"
    Cette valeur n'est pas légale dans un champ input, sur quel bean tu voudrais stocker??
    3. le champ est un outputText
    Les champs d'output n'ont aucune raison de passer dans un validator

    4. le rendered a certains conditions:
    Le composant evaluent à chaque étape de leur cycle de vie le rendered. Si celui-ci est false, il s'excluent de cette étape. C'est ainsi qu'on peux avoir un composant qui ignore le submit (rendered =false) mais s'affiche quand même (passage à true quand les données sont stockées dans le bean)
    Pourquoi celà?? Comment faire pour récupérer ces valeurs??
    Le validator n'a pas pour role de récupérer des valeur, juste de le valider avant que celle-ci ne soient copiée dans les backing beans.

  4. #4
    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
    Si le composant est disable ou que le rendered est à false au début, il n'est pas présent dans le DOM, donc la valeur n'est pas transmise.
    ça maintenant c'est clair. J'ai donc enlevé tous les disabled et remplacé par readonly.

    Pour le point 2. j'ai aussi modifié le code et j'ai mis la condition dans un bean, maintenant c'est mieux.

    Les champs d'output n'ont aucune raison de passer dans un validator
    J'ai du mal à comprendre cette expression. Je n'ai mis aucun validator sur l'outputText. Le validator est uniquement sur un inputText, mais c'est les autres valeurs du formulaire qui ne sont pas bien réaffichés au moment de l'affichage de l'erreur sur l'inputText. (je ne sais pas si j'explique correctement...)

    J'ai aussi compris que le validator ne récupère pas les valeurs. Mais c'est qui que réaffiche les valeurs quand la page est rechargée après l'erreur du validator?

    Pourquoi certaines valeurs "restent" correctement et d'autres ne sont pas retenues?

    Un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <h:outputText value="OS Version" 
    	rendered="#{terminalForm.osVersionRendered}" />
    <h:inputText
    	value="#{tForm.ingFields['OS_VERSION']}"
    	readonly="true"
    	rendered="#{tForm.osVersionRendered}" />
    ceci est correctement affiché au premier chargement de la page, quand je clique sur mon bouton save et que le validator donne une erreur, la page est rechargée mais ces 2 champs ne sont plus réaffichés!

    Voici les beans:
    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
     
    private boolean OsVersionRendered;
    public boolean getOsVersionRendered() {
    	if (ingFields != null)
    		OsVersionRendered = (ingFields.get("OS_VERSION") == null ? false : true);
    	return OsVersionRendered;
    }
    public void setOsVersionRendered(boolean osVersionRendered) {
    	OsVersionRendered = osVersionRendered;
    }
     
    private HashMap<String, String> ingFields;
    public HashMap<String, String> getIngFields() {
    	return ingFields;
    }
    elle est où l'erreur??

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par Bobble Voir le message

    J'ai aussi compris que le validator ne récupère pas les valeurs. Mais c'est qui que réaffiche les valeurs quand la page est rechargée après l'erreur du validator?

    Pourquoi certaines valeurs "restent" correctement et d'autres ne sont pas retenues?

    Un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <h:outputText value="OS Version" 
    	rendered="#{terminalForm.osVersionRendered}" />
    <h:inputText
    	value="#{tForm.ingFields['OS_VERSION']}"
    	readonly="true"
    	rendered="#{tForm.osVersionRendered}" />
    Il n'y aucune validation pour ton composant input, ceci dit, si il y'a erreur de validation, la phase apply request value n'est pas executée, comme l'a mentionné tchize_, donc, la valeur saisie est automatiquement perdue.

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par Sniper37 Voir le message
    Il n'y aucune validation pour ton composant input, ceci dit, si il y'a erreur de validation, la phase apply request value n'est pas executée, comme l'a mentionné tchize_, donc, la valeur saisie est automatiquement perdue.
    pas tout a fait, elle n'est pas transmise dans le bean. Cependant, elle n'est pas perdue, la valeur soumise étant conservée via le submittedData dans le composant et réaffichée. Cependant.

    Pour l'output et le champs en elcture 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?).

  7. #7
    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
    Edit: je viens de voir la réponse de tchize_ , qui répond à ma question. je vérifie déjà ça.


    ok, merci pour la réponse.
    Mais alors est-ce qu'il y a une autre solution pour garder les valeurs? Car ces valeur la ce n'est pas l'utilisateur qui les saisis, mais ils sont données par mon programme java. (readonly)

    De plus je ne comprend toujours pas pourquoi alors certains valeurs sont gardés. Exemple:

    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
     
    <h:outputLabel
    	for="code"
    	value="Code" />
    <h:panelGroup>
    	<h:inputText
    		id="code"
    		value="#{tForm.code}"
    		maxlength="8"
    		readonly="true"
    		style="background-color:#ECECEC" />
    	<x:message
    		for="code"
    		styleClass="error"
    		showDetail="true"
    		showSummary="false" />
    </h:panelGroup>
    avec le bean:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private String Code;
    public String getCode()
    {
    	return Code;
    }
    public void setCode(String code)
    {
    	Code = code;
    }

  8. #8
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    faut regarder les détail dans tes beans, en général, ce qui disparait entre les deux requetes, c'est ce qui est en request scope

  9. #9
    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
    c'est ça! J'ai changé le scope du bean en session et c'est bon.
    Merci beaucoup à tout le monde!!!

  10. #10
    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
    ops...il y a encore un gros problème...
    S'il y avait request avant, c'est que le même formulaire peut être chargé avec des différents valeurs lors de la même session.

    Donc, si maintenant j'ouvre un formulaire, je sauvegarde ou je revient en arrière et ensuite j'ouvre un autre formulaire, les valeurs null du deuxième formulaire ne se reset pas mais celles de l'ancien formulaire restent....

    est-ce qu'il y a une solution pour effacer le bean juste avant de recharger un nouveau formulaire? (ou le mieux c'est quand l'ancien est fermé)

    J'ai essayé de mettre le code suivant à la fin de ma fonction save, mais si au lieu de sauver je fais annuler ou je reviens en arrière avec le browser, les valeurs ne s'effacent pas...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	FacesContext
    	.getCurrentInstance()
    	.getApplication()
    	.createValueBinding( "#{tForm}").setValue(FacesContext.getCurrentInstance(), null );
    une idée?

  11. #11
    Membre éprouvé Avatar de juridakus
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 82
    Par défaut
    Effectivement le scope request réinitialise le bean à chaque requête (Ré-exécution du constructeur par défaut de la classe). Tu peux instancier un bean dans un autre avec un scope différent selon ton besoin. Cela te permettra sans doute de garder des valeurs que tu pourras communiquer ou traiter par l'autre.
    Bonne chance

  12. #12
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    l'idéal c'est le request bean, mais alors il te faut un mécanisme pour que ses valeurs qui proviennent d'un calcul précédent soient correctement recalculée, ce qui n'est pas le cas pour le moment.


    Alternativement , tu dispose de plusieurs composant (comme le savestate de tomahawk) capable de restaurer l'état de ton bean request scope à partir d'informations sauvées dans des champs hidden de la requete.

  13. #13
    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
    juridakus, je ne trouve aucune information de comment instancier un bean dans un autre...qu’est-ce que tu veut dire par la? Tu connait une doc qui l'explique? ou tu peut m'expliquer comment faire?

    tchize_, je vois difficile voir impossible de recalculer ces valeurs car ils dépendent du formulaire qu'on a décidé de charger...et du moment que toutes valeurs sont perdues, je n'ai plus aucune référence pour recharger les valeurs...ou est qu’il y a un moyen pour sauvegarder juste une valeur à l'extérieur de ce bean au moment du chargement pour la récupérer plus tard?

    si non j'ai commencé à regarder comment fonctionne tomahawk, peut être que c'est la solution la plus simple..

  14. #14
    Membre éprouvé Avatar de juridakus
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 82
    Par défaut
    Citation Envoyé par Bobble Voir le message
    juridakus, je ne trouve aucune information de comment instancier un bean dans un autre...qu’est-ce que tu veut dire par la? Tu connait une doc qui l'explique? ou tu peut m'expliquer comment faire?
    JSF recommande pour le respect du modèle MVC de créer deux beans, ça c'est la théorie, en pratique ça donne ça
    Dans ton faces-config.xml ou directement dans les classes (annotation) si tu travailles en JSF2.

    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
     
    <managed-bean>
      <managed-bean-name>compteConsultationBean</managed-bean-name>
      <managed-bean-class>web.CompteConsultationBean</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
      <managed-property>
       <property-name>compteConsultationView</property-name>
       <property-class>web.CompteConsultationView</property-class>
       <value>#{compteConsultationView}</value>
      </managed-property>
     </managed-bean>
     
    <managed-bean>
      <managed-bean-name>compteConsultationView</managed-bean-name>
      <managed-bean-class>web.CompteConsultationView</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
     </managed-bean>
     <managed-bean>
    Maintenant les données que tu veux conserver tu les attaches au bean en session et les actions seront dans une sorte de bean controller. Dans le bean en request l'autre sera déclaré comme propriété tel que tu peux le voir dans le code. Attention de respecter le nom donné au bean propriété.

  15. #15
    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
    re,

    je suis en train de regarder pour le savestate de tomahawk, mais je n'y parvient pas.

    Pour ça j'ai crée un nouveau post utilisation savestate de tomahawk, si non c'est le bordel... :
    http://www.developpez.net/forums/d95...k/#post5360970

  16. #16
    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
    juridakus merci!
    j'essaye ça. Juste un petite question, le fait de créer 2 beans dans mon faces-config.xml implique aussi que je dois créer 2 classes et déplacer mes variables/fonctions?

    Je ne sais pas en quel JSF je travail...ce n'est pas moi qui a commencé le projet et je n'arrive pas à le voir...(je peux le voir où? je travail avec Eclipse et Tomcat 5.5 et java 1.5.0)

  17. #17
    Membre éprouvé Avatar de juridakus
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 82
    Par défaut
    Citation Envoyé par Bobble Voir le message
    Je ne sais pas en quel JSF je travail...ce n'est pas moi qui a commencé le projet et je n'arrive pas à le voir...(je peux le voir où? je travail avec Eclipse et Tomcat 5.5 et java 1.5.0)
    Dans JSF2 qui est naturellement une évolution, ils ont simplement ajouter entre autres la possibilité de déclarer les beans et leurs scopes directement dans les classes concernées, ce qui t'évite d'éditer un fichier qui peut devenir très grand lorsque le projet est important (il est vrai qu'on peut le subdiviser). L'implémentation JSF que tu utilises t'indique sur la version avec laquelle tu travailles.

  18. #18
    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
    Merci pour les infos sue les JSF2. Je vais continuer avec mon fichier faces-config.xml, il n'est pas trop gros et je ne pense pas qu'il va encore évoluer énormément.
    Par contre je ne parvient vraiment pas à mettre une place une solution fonctionnelle...
    Je vais déplacer ma question sut le tomahawk dans un autre post. Comme ça c'est plus propre.

    Ici on continue avec les deux beans.

    J'ai essayé d'implémenter ça:
    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
    <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-property>
       <property-name>viewST</property-name>
       <property-class>com.tx.ss.bean.TForm</property-class>
       <value>#{viewST}</value>
      </managed-property>
     </managed-bean>
     
    <managed-bean>
      <managed-bean-name>viewST</managed-bean-name>
      <managed-bean-class>com.tx.ss.bean.TForm</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
     </managed-bean>
    mais le résultat c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.faces.el.PropertyNotFoundException: Bean: com.tx.ss.bean.TForm, property: viewST
    Je dois donc déplacer ma propriété dans une autre class?
    Mais après on est sur que cette propriété s'annule quand je recharge un nouveau formulaire mais qui reste quand le formulaire actuel est rechargé à cause de l'erreur du validator?

  19. #19
    Membre éprouvé Avatar de juridakus
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 82
    Par défaut
    Citation Envoyé par Bobble Voir le message
    mais le résultat c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.faces.el.PropertyNotFoundException: Bean: com.tx.ss.bean.TForm, property: viewST
    Je dois donc déplacer ma propriété dans une autre class?
    Mais après on est sur que cette propriété s'annule quand je recharge un nouveau formulaire mais qui reste quand le formulaire actuel est rechargé à cause de l'erreur du validator?
    Exact ta propriété déclarée dans com.tx.ss.bean.TForm doit être une autre classe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    private ViewST viewST;
     
    +getter +setter

  20. #20
    Membre éprouvé Avatar de juridakus
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 82
    Par défaut
    Ma solution risque de te demander de restructurer ton application alors que tu ne fais que continuer un dev en cours. Donc effectivement penches toi sur des composants comme le savestate de tomahawk.
    Je me disais aussi est-ce que tu as essayé de travailler avec une validation ajax comme le <rich:ajaxValidator> ce qui t'éviterai de recharger ta page.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [JSF] Validator - Comparaison
    Par gufra dans le forum JSF
    Réponses: 12
    Dernier message: 22/12/2010, 17h17
  2. JSF validator, null problem
    Par Bobble dans le forum JSF
    Réponses: 7
    Dernier message: 15/07/2010, 11h36
  3. JSF managed property probleme
    Par Loizo dans le forum JSF
    Réponses: 9
    Dernier message: 06/03/2009, 10h22
  4. [XP Pro] Licence valide pour un second PC ?
    Par loveflower dans le forum Windows XP
    Réponses: 2
    Dernier message: 29/03/2007, 12h47
  5. [validation HTML probleme avec li
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 18/02/2006, 13h27

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