Bonjour à tous,
Je souhaite afficher un tableau contenant deux champs : login et password
J'ai suivi un tutoriel sur les jsf pour ça mais c'est bisarre comment ça se comporte.
Voila ma config.
Ma page Acceuil.jsp ( la ou est affiché mon tableau )
mon fichier faces-config.xml ou sont declaré les managers :
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 <%@ page contentType="text/html" %> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="html" %> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="core" %> <core:view> <html:dataTable value="#{administrationBean.users}" var="users" border="1"> <core:facet name="header"> <core:verbatim>Users</core:verbatim> </core:facet> <html:column> <core:facet name="header"> <core:verbatim>LoginUser</core:verbatim> </core:facet> <html:outputText value="#{userBean.loginUser}"/> </html:column> <html:column> <core:facet name="header"> <core:verbatim>PasswordUser</core:verbatim> </core:facet> <html:outputText value="#{userBean.passwordUser}"/> </html:column> </html:dataTable> <br/> <html:form> <html:commandLink action="deconnection" value="Deconnection" /> </html:form> </core:view>
et ma classe AdministrationBean.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 <?xml version="1.0" encoding="UTF-8"?> <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd" version="1.2"> <managed-bean> <managed-bean-name>userBean</managed-bean-name> <managed-bean-class>home.my.vue.UserBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> <managed-bean> <managed-bean-name>administrationBean</managed-bean-name> <managed-bean-class>home.my.vue.AdministrationBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> </faces-config>
et ma class UserBean.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 package home.my.vue; import java.util.ArrayList; import java.util.List; public class AdministrationBean { private List<UserBean> users = new ArrayList<UserBean>(); public AdministrationBean(){ users.add(new UserBean("aaa","123")); users.add(new UserBean("bbb","456")); users.add(new UserBean("ccc","789")); } public List<UserBean> getUsers() { return users; } public void setUsers(ArrayList<UserBean> users) { this.users = users; } }
Pour la dynamique : j'accede à mon site via un formulaire de connection
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 package home.my.vue; import home.my.service.IUserManager; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource; public class UserBean { private int idUser; private String loginUser; private String passwordUser; private int idRole; public UserBean() { } public UserBean(String loginUser, String passwordUser) { this.loginUser = loginUser; this.passwordUser = passwordUser; } public int getIdUser() { return this.idUser; } public void setIdUser(int idUser) { this.idUser = idUser; } public String getLoginUser() { return this.loginUser; } public void setLoginUser(String loginUser) { this.loginUser = loginUser; } public String getPasswordUser() { return this.passwordUser; } public void setPasswordUser(String passwordUser) { this.passwordUser = passwordUser; } public int getIdRole() { return this.idRole; } public void setIdRole(int idRole) { this.idRole = idRole; } public String connection(){ XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("spring-config.xml")); IUserManager user = (IUserManager) bf.getBean("userManager"); if (user.checkLogin(this.loginUser, this.passwordUser)){ return "connectionSuccess"; } else{ return "connectionFail"; } } }
( login et password ) que je soumets et si c'est ok avec la base on va sur la page Accueil.jsp et la on affiche une liste de user ( ici codé en dur pour tester ). La navigation marche correctement ( je n'ai pas mis les regle de navigation dans le faces-config.xml pour plus de clarté ).
Ce qui ne marche pas c'est qu'un tableau s'affiche mais n'affiche pas les user en dur ( "aaa", "bbb", "ccc" ) mais trois fois mon user et password de connection. Je suppose que c'est du au fait qu'il s'agit en fait de la meme class qui est gérée pour la connection. Mais c'est quand meme bisarre, le tableau devrait parcourir la list d'element "users" non ?
Voila si qqun à une explication !!!!
Partager