Bonjour,
Je souhaite intégrer une picklist primefaces dans une popup pour attribuer des rôles aux utilisateurs.Le problème c'est qu'aucune donnée n'appariat dans le picklist.la picklist est la suisante:
Le managedBean:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <p:pickList value="#{userController.roles}" var="role" effect="drop" itemValue="#{accessGroup}" itemLabel="#{accessGroup.groupId}" converter="groupConverter" showSourceControls="false" showTargetControls="false"> <f:facet name="sourceCaption">Disponibles</f:facet> <f:facet name="targetCaption">Affectés</f:facet> <p:column style="width:75%"> #{accessGroup.groupId} </p:column> </p:pickList>
le converter :
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 @ManagedBean (name="userController") @ViewScoped public class UserController extends Controller implements Serializable { @EJB private AccessGroupDAO groupDAO; List<AccessGroup> roleSource =new ArrayList<AccessGroup>(); List<AccessGroup> roleTarget=new ArrayList<AccessGroup>(); private DualListModel<AccessGroup> roles; @PostConstruct protected void init() { roleSource = groupDAO.getAll(); // roleTarget =groupDAO.getAll();//(List) user.getAccessGroupSet(); roles = new DualListModel<AccessGroup>(roleSource, roleTarget); } public DualListModel<AccessGroup> getRoles() { return roles; } public void setRoles(DualListModel<AccessGroup> roles) { this.roles = roles; } }
J'ai teste mon groupDAO et il me ramene bien les données .Auriez vous une idée?
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 @FacesConverter (value="groupConverter") @ManagedBean @ViewScoped public class GroupConverter implements Converter, Serializable { @EJB private AccessGroupDAO groupDAO; @Override public Object getAsObject(FacesContext context, UIComponent component, String value) { //l'id du group est de type String AccessGroup group=groupDAO.findById(value); return group; } @Override public String getAsString(FacesContext context, UIComponent component, Object value) { if (value==null || value.equals("")){ return ""; } else { return String.valueOf(((AccessGroup)value).getGroupId()); } } }
merci d'avance
Partager