Java 如何避免/抑制JSF空(无选择选项)选项卡?

Java 如何避免/抑制JSF空(无选择选项)选项卡?,java,jsf,Java,Jsf,创建新项目时,用户不希望在“选择一个”菜单中看到null no selection选项,而是直接从可用项目中选择一个项目。因此,要么去掉null no选项,要么直接显示下拉列表中的第二个元素。我尝试了属性选择,但它没有任何作用。 我怎样才能做到这一点 <h:selectOneMenu id="ugroup" value="#{usersController.selected.ugroup}" title="#{bundle.CreateUsersTitle_ugroup}" require

创建新项目时,用户不希望在“选择一个”菜单中看到null no selection选项,而是直接从可用项目中选择一个项目。因此,要么去掉null no选项,要么直接显示下拉列表中的第二个元素。我尝试了属性选择,但它没有任何作用。 我怎样才能做到这一点

<h:selectOneMenu id="ugroup" value="#{usersController.selected.ugroup}" title="#{bundle.CreateUsersTitle_ugroup}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_ugroup}">
但是,由于这种静态方法在我的代码中无处不在,它会产生任何不必要的后果吗

例如,如果用户决定不选择任何选项,则当用户明确希望从中获得空值时。我的猜测是使用只需确保{ugroupController.itemsAvailableSelectOne}在数组或列表中不包含值为null的项。第一项将是默认选择的选项


或者,在bean的后期构造过程中,将{userscocontroller.selected.ugroup}后面的属性预设为所需项的值。

感谢@BalusC的快速回答!我编辑了我的问题!我只需要知道,如果它是安全的做修改以上通过修改代码!你可以这样做。注意,自JSF2.0以来,不再显式地需要SelectItem[]或列表或映射。一份清单也很好。我一点都不知道!这可能有助于我实现其他目标,例如:轻松地向对象添加列表。。。。好的,再次非常感谢@BalusC。不客气。注意var属性。其用途与和中的相同。
</h:selectOneMenu>
public class JsfUtil {

    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) { // part to be removed
            items[0] = new SelectItem("", "---");
            i++;
        } // end of part to be removed
        for (Object x : entities) {
            items[i++] = new SelectItem(x, x.toString());
        }
        return items;
    }
 if (selectOne) {
                items[0] = new SelectItem("", "---");
                i++;
            }