Java JSF:
我有一个bean,有一个缓存和一个从中获取值的方法Java JSF:,java,xhtml,ehcache,jsf-1.2,Java,Xhtml,Ehcache,Jsf 1.2,我有一个bean,有一个缓存和一个从中获取值的方法 public List<SelectItem> getSelectItemList(String key){ return cache.get(key).getValue(); } 我可以知道如何在JSF中获得这个列表吗 我试过了 <f:selectItems value="#{Bean.getSelectItemList(abc)}" /> 但它不起作用,因为它需要一个属性 注意:我使用JSF1.2,EHCa
public List<SelectItem> getSelectItemList(String key){
return cache.get(key).getValue();
}
我可以知道如何在JSF中获得这个列表吗
我试过了
<f:selectItems value="#{Bean.getSelectItemList(abc)}" />
但它不起作用,因为它需要一个属性
注意:我使用JSF1.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;
}
我不确定你的EL是否支持传递参数。假设是这样,您也需要使用{Bean.getSelectItemList'abc'}将abc作为字符串发送,但它不起作用。AFAIK这在JSF-1中是不可能的。也许您的EL库根本不支持传递参数。@传递参数与否在EL中不是JSF的问题,这取决于EL库。BalusC也解释了这一点我手头没有这个链接