如何检索JSF rich的选定值:select control?

时间:2012-08-14 09:41:40

标签: jsf-2 richfaces managed-bean

我有一个像这样的组合框:

<rich:select id="foo" value="#{fooVo.selectedFoo}" defaultLabel="Please select one">
  <f:selectItems value="#{fooVo.fooList}"/>
</rich:select>

当我尝试从列表中选择条目时,fooVo.selectedFoo为空。我发现fooVo.selectedFoo的设定者不是电话。

这是豆子:

@ManagedBean(name="fooVo")
@SessionScoped
public class FooVo {
  private List<SelectItem> fooList = new ArrayList<SelectItem>();

  private String selectedFoo;

  /** getter and setter **/
}

假设selectedFoo应填写所选条目,我可否知道应如何解决此问题?

12月15日更新 - fooList如何更新?

列表的构造在DAO中:

public List<SelectItem> getFooList() {
  List<SelectItem> newList = new ArrayList<SelectItem>();

  Integer theValue = ...;
  String theLabel = ...;
  newList.add(new SelectItem(theValue.toString(), theLabel));
}

然后newList将返回BOC并由本地变量保持,在完成其他一些处理工作后,此newList将移动到另一个ActionBean类,如下所示:

public List<SelectItem> processFooList() {
  ...
  List<SelectItem> theList = theDao.getFooList();
  return theList;
}

而在ActionBean类中,此列表最终将通过Spring依赖注入到达托管bean fooVo

@ManagedBean(name="theAction")
@SessionScoped
public class ActionBean {

  @ManagedProperty(value="#{fooVo}")
  private FooVo fooVo;

  public void setTheBo(IBoc theBo) {
    this.theBoc = theBo;
    this.FooVo.setFooList(theBo.processFooList());
  }
}

我在设置器Spring DI期间填写了fooVo的fooList,因为我想在页面加载时准备好fooList

0 个答案:

没有答案