Bonjour, je fais mes premiers pas en jsf et j'essais d'executer une page jsp prise sur le net
push.xhtml
PushBean.java
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 <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich"> <h:form> <a4j:push interval="1000" eventProducer="#{push.addListener}" reRender="push,out" enabled="#{push.enabled}" id="push"/> <rich:panel> <f:facet name="header"> <h:outputText value="Push Example"/> </f:facet> <h:panelGrid columns="1" id="out"> <h:outputText rendered="#{!push.enabled}" value="Press Start to run push example"/> <h:panelGroup rendered="#{push.enabled}"> <h:outputText value="Generated UUID:"/> <h:outputText value="#{push.uuid}"/> </h:panelGroup> <h:panelGroup> <a4j:commandButton value="Start" action="#{push.start}" ajaxSingle="true" rendered="#{!push.enabled}" reRender="push, out"/> <a4j:commandButton value="Stop" action="#{push.stop}" ajaxSingle="true" rendered="#{push.enabled}" reRender="push, out"/> </h:panelGroup> </h:panelGrid> </rich:panel> </h:form> </ui:composition> </html>
et la config dans le face-config est
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 package Beans; /** * * @author laplace */ import java.util.Date; import java.util.EventListener; import java.util.EventObject; import java.util.UUID; import org.ajax4jsf.event.PushEventListener; /** * @author Ilya Shaikovsky * */ public class PushBean implements Runnable { private String uuid = ""; private boolean enabled = false; private Date startDate; PushEventListener listener; private Thread thread; // private int eventsFired counter; public void addListener(EventListener listener) { synchronized (listener) { if (this.listener != listener) { this.listener = (PushEventListener) listener; } } } public void run() { while (thread != null) { try { if (((new Date()).getTime()-startDate.getTime())>=60000) { stop(); } uuid = UUID.randomUUID().toString(); listener.onEvent(new EventObject(this)); Thread.sleep(10000); } catch (InterruptedException e) { // TODO Auto-generated catch block // e.printStackTrace(); } } } public String getUuid() { return uuid; } public void start() { if (thread == null) { thread = new Thread(this); thread.setDaemon(true); thread.start(); setStartDate(new Date()); setEnabled(true); } } public void stop() { if (thread != null) { //thread.stop(); setStartDate(null); setEnabled(false); thread = null; } } public Thread getThread() { return thread; } public boolean isEnabled() { return enabled; } public void setEnabled(boolean enabled) { this.enabled = enabled; } public Date getStartDate() { return startDate; } public void setStartDate(Date startDate) { this.startDate = startDate; } }
Quand j'execute rien ne s'affiche, j'ai une page blanche alors que je devrais avoir quelque chose de (voir le lien)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <managed-bean> <managed-bean-name>push</managed-bean-name> <managed-bean-class>Beans.PushBean</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean>
http://ludvigsens.net/richfaces-3.3....push&tab=usage
Partager