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 :

Décider ce que l'on envoie avec a4j


Sujet :

JSF Java

  1. #21
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    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 483
    Par défaut
    si tu commencais par retirer ce composant à steak, qu'on voie si c'est pas lui qui cloche. Pour rappel, le apply request value n'est pas une phase où l'on fait de la conversion. C'est une phase ou chaque composant récupère ses gosses dans la soupe que forme les valeurs soumises par le browser. Comprendre ce que veulent dire les gosses, c'est le role de la phase suivante. Exception faite pour les composant "immediate" qui font tout dans cette première phase.

    sinon y a aussi le bean référencé dans ta datatable,. Si il pompe sa liste de la db ca peut etre un gros point de ralentissement

  2. #22
    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
    le problème peut venir aussi de tes tags personnalisés.
    Si tu ajoute un autre composant en dehors de la table tomahawk.tu constatera qu'il ne sera pas traités dans les phases JSF de la requete ajax.

  3. #23
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 92
    Par défaut
    sinon y a aussi le bean référencé dans ta datatable,. Si il pompe sa liste de la db ca peut etre un gros point de ralentissement
    Il n'y a aucun appel en base depuis le rendu de ma page ou de l'appy_request. Tous les appels sont fait au début ou dans la phase invoke_application.

    Pour rappel, le apply request value n'est pas une phase où l'on fait de la conversion
    Dans toutes les docs que je lis sur les phases du cycle, la conversion se situe au niveau de apply_request

    le problème peut venir aussi de tes tags personnalisés.
    Si tu ajoute un autre composant en dehors de la table tomahawk.tu constatera qu'il ne sera pas traités dans les phases JSF de la requete ajax.
    Mais le problème vient que j'ai trop d'information qui sont traité lors de ma phase d'apply_request

    J'ai remarqué que cette phase m'appel un nombre considérable de fois plusieurs method qui sont appelé lors du rendered. Je pense que c'est la cause de mon ralentissement de ma phase.
    Ces méthodes sont appelées souvent car elle se situe sur une boucle. Cependant certaine informations peuvent être définie hors de la boucle.
    J'ai voulu créer un variable dans ma page en utilisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:set name="maVar" value="#{ma valeur}">
    et à la place d'appeler mon getter, j'appel le nom de ma variable. Je pensait que ceci n'appellerai qu'une seul fois mon getter (a la declaration de mon set) mais en fait cela n'as rien changé aux nombres d'appels. Comme si le c:set n'etait qu'un alias

    Y a t-il un autre moyen de définir un variable pour la réutiliser après?

  4. #24
    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 demanghonj Voir le message
    Dans toutes les docs que je lis sur les phases du cycle, la conversion se situe au niveau de apply_request
    ce sont deux phases séparées, le process de apply value, peut se terminer après la phase de conversion ou après render response; suivant s'il y'a un composant d'action dans le graphe des composants et suivant l'attribut immediate.

    Citation Envoyé par demanghonj Voir le message
    Y a t-il un autre moyen de définir un variable pour la réutiliser après?
    J'utiliserais des variables coté coté java....

  5. #25
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 92
    Par défaut
    J'utiliserais des variables coté coté java....
    Je suis d'accord mais en fait certaine information me sont transmise via des f:param. Donc je ne peux pas les définir dans mon java.

    Il n'existe pas un moyen de faire comme un bean:define en struts?

  6. #26
    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 demanghonj Voir le message
    Je suis d'accord mais en fait certaine information me sont transmise via des f:param. Donc je ne peux pas les définir dans mon java.

    Il n'existe pas un moyen de faire comme un bean:define en struts?
    et pourquoi pas..?

    tu peux faire tout, avec le binding de la propriété avec EL.

  7. #27
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 92
    Par défaut
    Parce que je trouve ca plus simple de le faire sur la page. De plus je ne comprend pas trop les binding.
    Mais peux tu me donner un exemple qui me permettrait de mettre la valeur d'un EL dans une variable java depuis un binding.

    C'est certainement une solution

    Merci

  8. #28
    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 demanghonj Voir le message
    Parce que je trouve ca plus simple de le faire sur la page. De plus je ne comprend pas trop les binding.
    Mais peux tu me donner un exemple qui me permettrait de mettre la valeur d'un EL dans une variable java depuis un binding.

    C'est certainement une solution

    Merci
    tu dois le faire déjà..

    dans ta classe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private String  attribut;
    //getter/setter
    et dans la jsp:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText value="#{bean.attribut}"/>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a4j:actionparam name="monAttribut" value="#{list.variable}" assignTo="#{bean.attribut}" />

  9. #29
    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
    pour revenir à ton problème premier..ce que l'on envoie dans la requete ajax, tu peux utiliser
    ça affiche les logs des traitements effectués pour une requete ajax.

  10. #30
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 92
    Par défaut
    Excuse moi mais en fait le problème dont je te parle ne se passe pas sur cette page. Voici le code de ma page qui pose souci:

    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
     
    <a4j:repeat value="#{dossierController.model.formulairesFormater}"
    		var="groupe">
    		<div class="bloc_onglet">
    			<a4j:repeat value="#{groupe}"	var="paragraphe">
    				<!-- tableau -->
    				<t:div rendered="#{paragraphe.tableau}">
    					<a:tableau questions="#{paragraphe.listeQuestions}"
    							datas="#{paragraphe}"
    			cm="#{dossierController.model.dossier.typeDossier.cm}"
    							clos="#{dossierController.model.dossier.statut.clos
    or (not empty OpCtrl and OpCtrl.model.lecture)
    or (not dossierController.modifiableBet)}">
    										</a:tableau>
    								</t:div>
    							</td>
    						</tr>
    					</table>
    				</t:div>
    			</a4j:repeat>
    ...
    Désolé pour la présentation je n'arrive pas à faire mieux

    Dans ce code j'utilise un tag qui s'appelle a:tableau, il inclue la page sur laquelle on travaille depuis le debut. J'ai remarqué que mon getter dossierController.modifiableBet est appélé un nombre de fois conséquent. C'est pour cela que je souhaitait mettre cette variable même toute l'expression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #{dossierController.model.dossier.statut.clos
     or (not empty OpCtrl and OpCtrl.model.lecture)
     or (not dossierController.modifiableBet)}
    dans un variable afin d'éviter tous ces appels. Par exemple si j'enlève dossierController.modifiableBet je passe de 5s à 1,4s.

    Comprend tu ce qu je veux faire?

  11. #31
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    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 483
    Par défaut
    Citation Envoyé par demanghonj Voir le message
    Par exemple si j'enlève dossierController.modifiableBet je passe de 5s à 1,4s.
    Il y a quoi dans "isModifiableBet" qui justifie un tel temsp de calcul pour obtenir un booléen?

  12. #32
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 92
    Par défaut
    cette fonction prend 0ms, c'est juste un getter. Par contre j'ai optimiser l'acces à cette variable ce qui m'a permis de passer de 1.2s sur apply_request 200ms.

    Trop d'appel en JSF c'est mauvais.

    Merci pour votre aide

  13. #33
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    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 483
    Par défaut
    "optimisé l'accès" ??

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Que peut on faire avec SOAP?
    Par feed_our_vision dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 19/05/2006, 18h11
  2. [MySQL] probleme envoi avec POST
    Par Tr@nkill dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 24/04/2006, 09h11
  3. [PEAR][Mail] Est ce que c'est mieux avec PEAR ?
    Par hisy dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 07/03/2006, 12h33
  4. Qu'est ce que l'ads realm avec Samba
    Par oligig dans le forum Réseau
    Réponses: 4
    Dernier message: 23/02/2006, 16h09
  5. Que peut-on faire avec une vue ?
    Par Invité dans le forum Décisions SGBD
    Réponses: 8
    Dernier message: 20/10/2005, 11h13

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