JSF 1.2: событие valueChangeListener не возвращает вновь выбранное значение
У меня есть этот боб:
public class PageBean
{
private List<SelectItem> selectPages;
private List<SelectItem> selectRowsPerPage;
private String selectedPage;
private String selectedRowsPerPage;
private int pages = 0;
// getter methods
public boolean getRender()
{
boolean rendered = pages > 0? true: false;
return rendered;
}
public List<SelectItem> getSelectPages()
{
int value = 0;
selectPages = new ArrayList<SelectItem>();
for (int i = 1; i < (pages + 1); i++)
{
if (i > 1) { value = i * 10; }
selectPages.add(new SelectItem(Integer.toString(value), Integer.toString(i)));
}
return selectPages;
}
public String getSelectedPage()
{
if (selectedPage == null) {
selectedPage = "1";
}
return selectedPage;
}
// setter methods
public void setSelectPages(List<SelectItem> selectPages) {
this.selectPages = selectPages;
}
public void setSelectedPage(String selectedPage) {
this.selectedPage = selectedPage;
}
// action methods
public void changePage(ValueChangeEvent event)
{
PhaseId phase = event.getPhaseId();
if (phase.equals(PhaseId.INVOKE_APPLICATION)) {
System.out.println((String) event.getNewValue());
setSelectedPage((String) event.getNewValue());
FacesContext.getCurrentInstance().renderResponse();
} else {
event.setPhaseId(PhaseId.INVOKE_APPLICATION);
event.queue();
}
}
}
И h: selectOneMenu это:
<h:selectOneMenu id="page" value="#{pageBean.selectedPage}"
valueChangeListener="#{pageBean.changePage}" onchange="submit()">
<f:selectItems value="#{pageBean.selectPages}" />
</h:selectOneMenu>
Вышеуказанные коды дляchangePage () метод не возвращает новое выбранное значение страницы из h: selectOneMenu. Вместо этого он возвращает значение страницы до отправки. Я не понимаю почему.
Может кто-нибудь, пожалуйста, помогите? Застрял на этом уже 2 дня.