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?
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?
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?
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.
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.
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...)
rushtakn je peux avoir un exemple d'utilisation de a4j:support ? Je ne connais bien ajax.
Salut,
Voila un exemple de a4j:support dans le demo de richfaces :
http://livedemo.exadel.com/richfaces...port&tab=usage
Tu utilises richfaces ? si non il faudra que tu telecharges les jar pour avoir accès à ce tag.
La doc pour a4j:support c'est par ici.
Dans ton cas, ça doit donner un code du genre :
Quand l'utilisateur perdra le focus son ton champs texte, la methode action du bean bean déclaré dans ton faces config sera appelée. Le fonctionnement est le meme que pour le paramètre action d'un commandButton.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <h:inputText value="#{bean.value}"> <a4j:support event="onblur" action="#{bean.action}" /> </h:inputText>
rushtakn j'ai essayé votre code mais cela ne fonctionne pas.
J'ai téléchargé les jar de richfaces(richface-api,richfaces-impl,richfaces-ui) vérsion 3.3.1.
J'utilise Myface 1.2.
Est ce qu'il y a des configurations à faire dans le web.xml?
Bonjour
Y a t il pas quelqu'un qui peut m'aider à utiliser a4j:support?
Bonjour,
Oui, il y a du paramétrage à effectuer dans le fichier web.xml.
Voir http://docs.jboss.org/richfaces/late...GettingStarted
VG
salut,
VirageGroup j'ai effectué la même configuration que celle qui est sur le site que vous m'avez indiqué mais j'ai ces messages d'erreurs:
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 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.
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?
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?
ç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.
Salut
Quelqu'un peut il m'aider?
Effectivement. L'erreur survient que j'utilise cette balise. Voici ma page jsp. C'était pour un teste
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%> <h:inputText id="myinput" value="#{depotretraitBean.num_telephone}"> <a4j:support event="onkeyup" reRender="outtext" /> </h:inputText> <h:outputText id="outtext" value="#{depotretraitBean.num_telephone}" />
ce n'est pas le bon lien pour les tag libs a4j:
Code : Sélectionner tout - Visualiser dans une fenêtre à part <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
J'ai changé le tag lib mais j'ai toujours la même erreur.
Voici mon fichier web.xml
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>mpayement</display-name> <context-param> <param-name>org.apache.myfaces.ERROR_HANDLING</param-name> <param-value>false</param-value> </context-param> <!-- Filtre pour l'utilisation d'ajax --> <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> <session-config> <session-timeout>1440</session-timeout> </session-config> <!-- Filtre pour l'upload de fichier --> <filter> <filter-name>MyFacesExtensionsFilter</filter-name> <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class> <init-param> <description>Set the size limit for uploaded files. Format: 10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB </description> <param-name>uploadMaxFileSize</param-name> <param-value>100m</param-value> </init-param> </filter> <!-- Filtre pour l'exportation en PDF --> <filter> <filter-name>ResponseOverrideFilter</filter-name> <filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class> </filter> <filter-mapping> <filter-name>ResponseOverrideFilter</filter-name> <url-pattern>*.jsp</url-pattern> <url-pattern>/faces/*</url-pattern> </filter-mapping> <!-- extension mapping for adding <script/>, <link/>, and other resource tags to JSF-pages --> <filter-mapping> <filter-name>MyFacesExtensionsFilter</filter-name> <!-- servlet-name must match the name of your javax.faces.webapp.FacesServlet entry --> <servlet-name>Faces Servlet</servlet-name> </filter-mapping> <!-- extension mapping for serving page-independent resources (javascript, stylesheets, images, etc.) --> <filter-mapping> <filter-name>MyFacesExtensionsFilter</filter-name> <url-pattern>/faces/myFacesExtensionResource/*</url-pattern> </filter-mapping> <!-- ************************* --> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>all</param-value> </context-param> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> <url-pattern>*.jsf</url-pattern> </servlet-mapping> </web-app>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager