我有一个bean,有缓存和从中获取价值的方法。

public List<SelectItem> getSelectItemList(String key){
 return cache.get(key).getValue();
}


我可以知道如何在JSF中获得此列表吗?

我努力了..

 <f:selectItems value="#{Bean.getSelectItemList(abc)}" />


但它不起作用,因为它需要属性。

注意:我使用的是JSF 1.2,EHCache

最佳答案

JSF代码:

 <t:selectOneMenu id="testId" value="#{testBean.selectedItem}" >
      <f:selectItems value="#{testBean.selectItemList}" />
 </t:selectOneMenu>


管理Bean代码:

    private String selectedItem;
    private List selectItemList;
public List<SelectItem> getselectItemList() {
        if(null == selectItemList || selectItemList.isEmpty()){
            selectUserList = new ArrayList<SelectItem>();
            selectItemList.add(new SelectItem(this.selectedItem, cache.get(this.selectedItem).getValue()));
        }
        return selectItemList;
    }

07-24 16:16