0

好久不见

我填写有问题啊: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;
    }

感谢您的时间和帮助

4

0 回答 0