UISelectMany selected values always NULL
marianr Aug 26, 2009 4:36 AMHi everyone,
I am facing a problem of fetching values out of a UISelectMany into an Object[]. I always get the Object value null.
Here is what I try to do:
- I have a JSP page using JSF, there is a RichFaces TabPanel in it that I bind with an HtmlTabPanel in my backing bean.
- in this backing bean, I create some tabs, and add an UISelectMany to each tab
- when I press the Submit button in the JSP page, I try to get the selected items from the UISelectMany
Actually, I am trying to do this only with ONE tab, and therefore, ONE UISelctMany.
Here is a part of my JSP:
rich:tabPanel id="tabPanel" switchType="client" binding="#{dataBase.mytabPanel}" />
<h:commandButton value="Sumit" action="#{dataBase.validateContent}"></h:commandButton>
and here is a part of the backing bean:
/** The method called by my Submit button*/
public String validateContent(){
for (int i=0; i<objValues.length; i++){
if (selectMany.getSelectedValues()!=null) System.out.println("selected: " + selectMany.getSelectedValues());
}
return OUTCOME_CONTENT;
}
/**
* The getter of HTMLTabPanel
* @return HTMLTabPanel
*/
public HtmlTabPanel getMytabPanel() {
List<List<UISelectItem>> selectItemTab=SelectItemConverter.listMapToUISelectItems(dataBase.getListVarContent(chosenVariablesNames));
/**create a tabPanel*/
FacesContext context = FacesContext.getCurrentInstance();
Application application = context.getApplication();
mytabPanel = (HtmlTabPanel)application.createComponent(HtmlTabPanel.COMPONENT_TYPE);
/**for each entry in the displayContentList, create a tab*/
for (int i=0; i<selectItemTab.size();i++){
HtmlTab tab = (HtmlTab)application.createComponent(HtmlTab.COMPONENT_TYPE);
tab.setLabel("Variable: " + variableNames);
/**the selectManyItems*/
selectMany=new UISelectMany();
selectMany.setSelectedValues(objValues);
selectMany.getChildren().addAll(selectItemTab.get(i));
tab.getChildren().add(selectMany);
mytabPanel.getChildren().add(tab);
}
return mytabPanel;
}
My problem is that everything printed in the console is NULL.
I searched everywhere for the solution, but I never found.May you please help me, it would be very much appreciated!