[PrimeFaces] Aucune donnée dans un PickList
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:
Code:
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 managedBean:
Code:
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;
}
} |
le converter :
Code:
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());
}
}
} |
J'ai teste mon groupDAO et il me ramene bien les données .Auriez vous une idée?
merci d'avance