好久不见
我填写有问题啊:JSF中的selectOneMenu,我不能让它显示数据库中的所有记录,只显示前20项
欢迎任何帮助,不知道是配置问题还是我的代码有问题
这是我的 JSF 代码
<h:selectOneMenu value="#{myController.myValue}">
<f:selectItems value="#{myController.itemsAvailableSelectOne}" />
</h:selectOneMenu>
我的控制器
public SelectItem[] getItemsAvailableSelectOne() {
return JsfUtil.getSelectItems(ejbFacade.findAll(), true);
}
这就是我将我的列表转换为 SelectItem 的方式,注意调试我已经看到该函数返回 88 个项目
public static SelectItem[] getSelectItems(List<?> entities, boolean selectOne) {
int size = selectOne ? entities.size() + 1 : entities.size();
SelectItem[] items = new SelectItem[size];
int i = 0;
if (selectOne) {
items[0] = new SelectItem("", "---");
i++;
}
for (Object x : entities) {
items[i++] = new SelectItem(x, x.toString());
}
return items;
}
感谢您的时间和帮助