h:selectOneMenu holds the previous state
prasanbca001 Jan 13, 2013 10:14 PMHi Friends,
I had problem in <h:selectonemenu> ,
steps to arise,
1.Deploy webapplication
2.In jsp page ,
<h:form id="sampleFormId" binding="#{Sample.initForm}">
<a4j:outputpanel id="countryOutPutPanelId">
<h:panelGrid columns="2">
<h:outputText value="Country:"/>
<h:selectOneMenu value="#{Sample.country}"
id="countryId"
styleClass="commonDropDownListBox">
<f:selectItems value="#{Sample.countryItemList}"/>
<a4j:support action="#{Sample.countryComboBoxAction}"
event="onchange"
/>
</h:selectOneMenu>
</h:panelGrid>
</a4j:outputpanel>
</h:form>
3.In Sample.java
private SelectItem countrySelectItem;
private HtmlForm initForm;//(Getter setter applicable)
private String country;//(Getter setter applicable)
private List<SelectItem> countryItemList = new ArrayList<SelectItem>();//(Getter setter applicable)
private void addingCountryItemList()
{
countryItemList.add(new SelectItem("India"));
countryItemList.add(new SelectItem("Malaysia"));
countryItemList.add(new SelectItem("China"));
}
/**
* countryComboBoxAction when change the selectitems
*/
public String countryComboBoxAction()
{
countryItemList.remove(countrySelectItem);
}
/**
* @return the initForm
*/
public HtmlForm getInitForm()
{
countrySelectItem = -------------Select Country---------------------;
countryItemList.clear();
addingCountryItemList();
if(!countryItemList.contains(countrySelectItem))
{
countryItemList.add(0,countrySelectItem);
}
//We need to display as its first so
country = countrySelectItem.getValue.toString();
return initForm;
}
/**
* @param initForm the initForm to set
*/
public void setInitForm(HtmlForm initForm)
{
this.initForm = initForm;
}
4. when country changed from label countrySelectItem to india/Malaysia/China
it will removed the countrySelectItem
keep the state in India
5.pause the action and redeploy the same war in tomcat
the problem is when redeploy the war , the country must be added and selected the countrySelectItem as want to shown ,But it holds lastly u selected india in jsp
Expected: --------SelectCountry-----------------
But it hold : India
in jsp page
can u help me?