public class Users implements Serializable { private Integer id; private String username; private String password; private Roles roles; public Users() { } --- getters & setters --- }
Esta clase será llamada en el ManagedBean junto con la clase Roles. Por tanto el ManagedBean quedaría como sigue,
@ManagedBean(name = "userBean") @ViewScoped public class UserBean implements Serializable { private Users newUser = new Users(); private Roles[] roleses; private final Roles roleAdmin = Roles.ADMINISTRATOR; private final Roles roleUser = Roles.USER; --- getters & setters --- }
En esta clase hemos declarado Roles como un array y por tanto su método Get correspondiente se puede implementar de la siguiente manera,
public Roles[] getRoleses() { roleses = Roles.values(); return roleses; }
con lo que recuperamos los valores de la enumeración como String. Entonces la página JSF se podría implementar de la siguiente manera,
<h:outputLabel for="userRoles" value="Roles" /> <h:selectOneMenu id="userRoles" value="#{userBean.newUser.roles}" > <f:selectItem itemLabel="Select role" noSelectionOption="true" /> <f:selectItems value="#{userBean.roleses}" var="role" itemValue="#{role}" itemLabel="#{role.role}"/> </h:selectOneMenu>
Podemos encontrar una información completa en Stackoverflow.com
No hay comentarios:
Publicar un comentario