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éclencher une méthode quand la valeur d'un champ d'une base de données est changée


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Par défaut Déclencher une méthode quand la valeur d'un champ d'une base de données est changée
    Bonjour,

    Je travaille avec JSF/Myface. Je veux déclencher l'exécution d'une méthode d'un bean quand la valeur d'un champ d'une table de ma base de donnée est changée.
    Comment vais je faire?

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Par défaut
    Je modifie un peu ma question
    Je veux déclencher l'exécution d'une méthode d'un bean quand la valeur d'un champ d'une table de ma base de donnée est changée ou quand un inputText est renseigner.
    Comment vais je faire?

  3. #3
    Membre éprouvé Avatar de rushtakn
    Inscrit en
    Mai 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 213
    Par défaut
    Citation Envoyé par AmFaye Voir le message
    Je veux déclencher l'exécution d'une méthode d'un bean quand la valeur d'un champ d'une table de ma base de donnée est changée
    Je suppose qu'il faudrait que tu précises comment cette valeur est changée parce que je ne comprends pas ou est le probleme. Tu dois bien avoir une méthode qui modifie ce champ dans ta bdd, donc au moment ou tu appelles cette méthode tu peux également appeler la méthode du bean que tu veux exécuter ?

    Pour l'inputText, tu peux vérifier que ton champ est renseigné dans l'action de validation du formulaire et appeler ta méthode à ce moment.

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Par défaut
    La méthode que je veux exécuter était liée à un bouton de mon interface. Quand un utilisateur clique sur ce bouton c'est à ce moment que la méthode est exécutée et la page suivante est affichée en changeant les booleéns qui sont passés aux attributs rendered.

    Maintenant je veux que si la valeur d'un champ d'une de mes tables change ou d'un champ inputText de l'interface change que ma méthode soit déclenchée et que la pages suivante qui auparavant s'affichait quant un utilisateur clique sur le bouton, s'affiche sans l'intervention de l'utilisateur sur le bouton.

  5. #5
    Membre éprouvé Avatar de rushtakn
    Inscrit en
    Mai 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 213
    Par défaut
    Je pense que pour la modification de la valeur de la table tu prends le probleme du mauvais coté. La modification est nécessairement provoquée par une action de l'utilisateur sur l'interface, c'est à ce moment que tu dois exécuter le méthode que tu veux. La comme tu expliques les choses j'ai l'impression que tu veux détecter la modification du champ dans ta bdd, puis remonter l'evenement jusqu'à l'interface, je ne suis pas sur que ça soit faisable.

    Sinon, concernant la modification du textInput, de ce que j'ai compris tu veux simplement valider ton formulaire sans avoir à cliquer sur un bouton. Tu peux faire ça en ajax avec par exemple un a4j:support qui appelera la méthode de ton bean selon l'evenement que tu veux (onblur, onchange...)

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Par défaut
    rushtakn je peux avoir un exemple d'utilisation de a4j:support ? Je ne connais bien ajax.

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Par défaut
    Bon soir à tous je suis revenu. Bonne et heureuse année 2010 à tous.
    J'ai toujours des soucie pour l'utilisation d'Ajax4jsf avec Myfaces 1.2.6.
    J'ai téléchargé les jar:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    richfaces-api-3.3.1.GA.jar  ; richfaces-impl-3.3.1.GA.jar  ; richfaces-ui-3.3.1.GA.jar
    .

    Dans mon web.xml j'ai effectué la configurattion suivante:
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <context-param>
     
       <param-name>org.richfaces.SKIN</param-name>
     
    	   <param-value>blueSky</param-value>
     
    	</context-param>
     
     
     
    	<context-param>
     
    	      <param-name>org.richfaces.CONTROL_SKINNING</param-name>
     
    	      <param-value>enable</param-value>
     
    	</context-param>
      	<filter>
     
            <display-name>Ajax4jsf Filter</display-name>
     
            <filter-name>ajax4jsf</filter-name>
     
            <filter-class>org.ajax4jsf.Filter</filter-class>
     
          </filter>
     
          <filter-mapping>
     
            <filter-name>ajax4jsf</filter-name>
     
            <servlet-name>Faces Servlet</servlet-name>
     
            <dispatcher>REQUEST</dispatcher>
     
            <dispatcher>FORWARD</dispatcher>
     
            <dispatcher>INCLUDE</dispatcher>
     
          </filter-mapping>
    .

    J'ai les messages d'erreurs suivant quand j'utilise le composant support:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    java.lang.NullPointerException
    	at org.apache.catalina.connector.MapperListener.destroy(MapperListener.java:165)
    	at org.apache.catalina.connector.Connector.stop(Connector.java:1179)
    	at org.apache.catalina.core.StandardService.stop(StandardService.java:593)
    	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
    	at org.apache.catalina.startup.Catalina.stop(Catalina.java:628)
    	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:671)
    .

    Quelqu'un peut m'aider?

  8. #8
    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
    Salut, et bonne année à toi aussi .
    tu as la trace de la cause de l'exception?

    ça arrive au démarrage du serveur ou à l'exécution?

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Par défaut
    ça arrive lors de l'exécution. Quand je tape l'url de l'application. C'est ceci que j'ai
    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
    type Rapport d'exception
     
    message 
     
    description Le serveur a rencontr� une erreur interne () qui l'a emp�ch� de satisfaire la requ�te.
     
    exception 
     
    java.lang.NullPointerException
    	java.lang.String.startsWith(Unknown Source)
    	java.lang.String.startsWith(Unknown Source)
    	org.ajax4jsf.webapp.WebXml.getFacesResourceKey(WebXml.java:189)
    	org.ajax4jsf.webapp.WebXml.getFacesResourceKey(WebXml.java:222)
    	org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:139)
    	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488)
     
     
    note La trace compl�te de la cause m�re de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.18.

  10. #10
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Par défaut
    Salut
    Quelqu'un peut il m'aider?

  11. #11
    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 AmFaye Voir le message
    Salut
    Quelqu'un peut il m'aider?
    le code de ta page? mais le problème survient que lorsque tu utilise a4j:supoprt?

Discussions similaires

  1. [MySQL] Filtrer des éléments d'une liste selon plusieures valeurs d'un champ d'une table bdd
    Par amdawb dans le forum PHP & Base de données
    Réponses: 26
    Dernier message: 08/02/2015, 15h59
  2. Réponses: 1
    Dernier message: 08/12/2010, 12h04
  3. Réponses: 1
    Dernier message: 31/08/2009, 22h48
  4. Réponses: 3
    Dernier message: 02/01/2007, 13h53
  5. passer la valeur d'un return dans une méthode
    Par belukrin dans le forum Langage
    Réponses: 1
    Dernier message: 25/03/2006, 06h58

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