SelectItemGroup et java.lang.NumberFormatException
bonjour,
Je souahite afficher Dans une liste deux groupes. Par exemple ma liste pourrait etre :
Utilisateurs
user 1
user 2
Group
group 1
group 2
Lorsque j'exécute mon code j'ai une erreur que je n'arrive pas a résoudre.: java.lang.NumberFormatException
Voici ma page JSP:
Code:
1 2 3 4 5 6 7 8 9 10
|
<span class="formTitle">
<h:outputText value="#{bundle.synchronization_title}"/>
</span>
<div class="formCadre">
<h:selectManyListbox value="#{Synchronization_1.optionsSelected}">
<f:selectItems value="#{Synchronization_1.changedGroupsOptions.options}"/>
</h:selectManyListbox>
</div> |
voic mon backing bean :
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 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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
public class Synchronization_1 extends AbstractPageBean{
@EJB
private GroupManagerRemote groupsManager;
@EJB
private UserManagerRemote userManager;
private static final String PREFIX_GROUPS = "group_";
private static final String PREFIX_USERS = "user_";
private List optionsSelected = new ArrayList();
private SelectItem[] changedGroupsOptions;
final ResourceBundle bundle = getApplicationBean().getRessourceBundle();
/**
* <p>Construct a new Page bean instance.</p>
*
* @throws NamingException
*/
public Synchronization_1() throws NamingException {
groupsManager = EJBUtils.getEJB(GroupManagerRemote.class);
userManager = EJBUtils.getEJB(UserManagerRemote.class);
getSessionBean().setSelectedMainTab(SessionBean_1.MAIN_TAB_ACCEPTORS);
getSessionBean().setSelectedAcceptorTab(SessionBean_1.ACCEPTOR_TAB_SYNCHRO);
getSessionBean().getRoleCache().assertHasRoleInTab(
UserRolesCache.TAB_SYNCHRO,
getFacesContext());
}
@Override
public void init() {
// Perform initializations inherited from our superclass
super.init();
}
private SelectItem[] loadGroupOptions() {
final Long acceptorId = getSessionBean().getCurrentAcceptorId();
final List<Group> changedGroups = groupsManager.getChangedRootGroups(acceptorId);
final SelectItem[] options = new SelectItem[changedGroups.size()];
int i = 0;
for (Group changedGroup : changedGroups) {
SelectItem option = new SelectItem(
PREFIX_GROUPS + changedGroup.getId(),
changedGroup.getName());
option.setDisabled(!groupsManager.isConsistentToSynchronize(changedGroup));
//option.setImage("../public/images/edit.gif");
options[i++] = option;
}
return options;
}
private SelectItem[] loadUserOptions() {
System.out.println("GROUP USER");
final List<User> changedUsers = userManager.getChangedUsers();
System.out.println("List User: " + changedUsers);
SelectItem[] options = new SelectItem[changedUsers.size()];
int i = 0;
for (User changedUser : changedUsers) {
SelectItem option = new SelectItem(
PREFIX_USERS + changedUser.getId(),
changedUser.getName());
//option.setImage("public/images/edit.gif");
System.out.println("Option: label: " + option.getLabel() + " value: " + option.getValue());
options[i++] = option;
}
System.out.println("OPTIONS: " + options);
return options;
}
/**
* <p>Return a reference to the scoped data bean.</p>
*
* @return a reference to the scoped data bean
*/
protected ApplicationBean_1 getApplicationBean() {
return (ApplicationBean_1) getBean("ApplicationBean_1");
}
/**
* <p>Return a reference to the scoped data bean.</p>
*
* @return a reference to the scoped data bean
*/
protected SessionBean_1 getSessionBean() {
return (SessionBean_1) getBean("SessionBean_1");
}
public List getOptionsSelected(){
//getSessionBean().setSelectedItemToSynchronize(null);
return this.optionsSelected;
}
public void setOptionsSelected(List l){
this.optionsSelected = l;
}
@SuppressWarnings("empty-statement")
public SelectItem[] getChangedGroupsOptions() {
System.out.println("getChangedGroupsOptions");
final SelectItem[] groupOptions = loadGroupOptions();
final SelectItem[] usersOption = loadUserOptions();
System.out.println("groupOptions: " + groupOptions);
System.out.println("usersOption: " + usersOption);
final SelectItemGroup groups = new SelectItemGroup();
groups.setLabel(bundle.getString("synchronization_groups"));
groups.setSelectItems(groupOptions);
final SelectItemGroup users = new SelectItemGroup();
users.setLabel(bundle.getString("synchronization_users"));
users.setSelectItems(usersOption);
System.out.println("Synchro user: " + users.getLabel() + " " + users.getSelectItems());
changedGroupsOptions = new SelectItem[]{groups, users};
System.out.println("CHOIX: " + changedGroupsOptions);
System.out.println("SELECTED: " + optionsSelected);
return changedGroupsOptions;
}
public void setChangedGroupsOptions(SelectItem[] dol) {
this.changedGroupsOptions = dol;
}
} |
Et voici le log :
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 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
|
getChangedGroupsOptions
GROUP USER
List User: [User(2, 'test', ADDED)]
Option: label: test value: user_2
OPTIONS: [Ljavax.faces.model.SelectItem;@90ff95
usersOption: [Ljavax.faces.model.SelectItem;@90ff95
Synchro user: Utilisateurs [Ljavax.faces.model.SelectItem;@90ff95
CHOIX: [Ljavax.faces.model.SelectItem;@90ff95
WebModule[/ArchiPEL/Administration]javax.el.ELException: java.lang.NumberFormatException: For input string: "options"
javax.faces.FacesException: javax.el.ELException: java.lang.NumberFormatException: For input string: "options"
at javax.faces.component.UISelectItems.getValue(UISelectItems.java:133)
at com.sun.faces.renderkit.RenderKitUtils.getSelectItems(RenderKitUtils.java:323)
at com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:675)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:793)
at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:335)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:836)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:896)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:320)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.render(PartialTraversalLifecycle.java:106)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.sagemParkeon.archipel.administration.web.servlet.SessionTimeoutFilter.doFilter(SessionTimeoutFilter.java:50)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
...... |
Merci pour votre aide