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] Problème outputText en cas d'erreur de validation


Sujet :

JSF Java

Vue hybride

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Par défaut [JSF] Problème outputText en cas d'erreur de validation
    Bonjour,

    J'ai une page JSF qui me sert à modifier une "Note" (contenant un sujet, une description une date de création et un identifiant). Cette page contient deux champ input pour modifier la description et le sujet. En revanche j'affiche l'identifiant et la date directement avec un outputText (je stocke aussi une copie dans des input hidden pour test). Toute ces valeurs sont récupérés via des EL depuis un backing bean avec une portée request.

    Si je soumet le formulaire et que par exemple un champ requis manque, la même page se réaffiche avec les messages d'erreurs (que du classique). Le problème c'est que si mes champs input (description, sujet et les hidden) sont corrects et contiennent les valeurs que je viens d'entrer, en revanche les instructions "outputText" n'affichent rien (0 pour l'ID et "" pour la date).

    Quelqu'un peut-il m'expliquer ? Et comment éviter ce problème (sachant que je ne veux pas utiliser des input non éditable pour afficher l'identifiant et la date)? Est-il possible de récupérer les valeurs des mes hidden input et de les afficher via outputText?

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Par défaut
    Salut, ça ne serait pas dû à la portée de ton bean?
    J'ai eu le même problème il me semble, j'ai mis la portée du bean en "session" et c'était bon.

    Si c'est pas ça ton problème montre le code on y verra plus clair

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Par défaut
    Merci pour cette réponse.

    Ca résout effectivement le problème mais je me pose quand même des questions de "conception": à quoi bon utiliser des request scope bean si le simple fait d'utiliser des validator (ce qui est très fréquent, ex: si j'ai un boîte de connexion qui apparaît sur toutes les pages) fait qu'on doit utiliser un session bean.

    Et ce d'autant plus qu'il (me semble t'il) est fréquent d'afficher des données depuis un bean (ex: si je stocke un titre de page dans mon bean, ou une information quelconque).

    En d'autre termes est-ce une pratique courante que d'utiliser des sessions beans pour quasiment toutes les requêtes ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Par défaut
    Je repose ma question: quand est-ce que "devrait" être utilisé les request beans et les sessions beans, concrètement? Dès que l'on utilise des validateurs? Je ne parle évidemment pas des cas où l'on souhaites stocker des données durant toute une session utilisateur car ce cas est évident.

    Comment se fait-il que l'utilisation de validateus fassent "perdre" les informations de la requête initiale et donc d'un requestBean. Je comprend que c'est lié au "cycle de vie JSF" mais n'en voit pas bien l'interêt. En effet ça limite me semble-t'il l'interêt des request bean.

    De plus est-ce que l'utilisation des sessions beans n'alourdit pas la charge mémoire du serveur (quand on a un nombre important d'utilisateur) ?

    Quelqu'un a une réponse ?
    merci

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Par défaut
    Salut,
    Je suis comme toi moi aussi, je ne vois pas trop l'intérêt des request bean, si tu t'en sers il faut les récupérer dans les httpSession et tout, c'est un pti peu galère.
    Du coup j'utilise exclusivement des sessions bean, mon appli s'y prête bien de toute façons.
    Concernant la charge serveur, je n'est rien observé de notable pour le moment, ça tient le coup sur 20 utilisateurs simultanés (bon c'est pas dvp.com mais c'est le maximum pour le moment )

    Ha si j'ai un exemple de request bean (je crois)...
    Si tu veux ajouter un utilisateur à ta base de données, tu fais une page jsf où tu as des champs dans lesquels tu rentres les informations; ces informations là peuvent être entrées dans un request bean, et quand l'utilisateur valide, tu récupères le bean dans ta session, tu le traites, tu l'ajoutes à la base de données et le bean s'en va tout seul vu qu'il est en request.

  6. #6
    Membre chevronné

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Par défaut
    Salut,

    Si il existe des beans de sessions et d'autres de requetes, c'est bien que ça sert et qu'il y a effectivement une différence en termes d'utilisation des ressources. Bitardo, si pour le moment ton appli tourne correctement avec 20 utilisateurs, tu pourais essayer de provoquer la montée en charge (il existe desoutils pour ça) et je ne serai pas etonné que tu tombe sur une erreur genre: "Java.lang.OutOfMemory: Permgen space error". Comme pour n'importe quelle appli java, la JVM ne supporte qu'un nombre limité d'objets instanciés simultanément (même si il est déjà important), et l'utilisation de bean request permet au garbage collector de faire son boulot.

    Ratamovic> dans ton exemple il semble évident qu'un bean request suffit amplement. Je ne comprends pas bien d'ou viennent l'"id" et la "date" qui disparaissent. Si tu les avais fixés dans un bean pour afficher ton formulaire pourquoi ne pas le refaire: SI toute les infos sont bonnes=> ok, SINON fixe la date et l'id et reaffiche la page.

    Dans le tutorial que j'ai posté sur mon blog je n'utilise qu'un bean request.

    Bon courage à tous les deux,
    Cordialement,
    Tif

Discussions similaires

  1. Problème de redirection en cas d'erreur
    Par arno15 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 23/11/2010, 15h10
  2. Réponses: 23
    Dernier message: 19/04/2009, 16h50
  3. [RegEx] Problème d'affichage d'un else en cas d'erreur
    Par Mr[ben] dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2007, 14h04
  4. Réponses: 7
    Dernier message: 15/03/2005, 14h44
  5. Redirection en cas d'erreur sur una page
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 03/09/2004, 09h18

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