gpt4 book ai didi

java - 如何避免/抑制 JSF null (no selection option) tab?

转载 作者:行者123 更新时间:2023-11-30 05:01:24 25 4
gpt4 key购买 nike

创建新项目时,用户不希望在“单选”菜单中看到空无选择选项,而是直接从可用项目中看到一个项目。因此,要么摆脱 null no 选项,要么直接显示下拉列表中的第二个元素。我尝试了属性 hideNoSelection ,但它什么也没做。我怎样才能实现这个目标?

<h:selectOneMenu id="ugroup" value="#{usersController.selected.ugroup}" title="#{bundle.CreateUsersTitle_ugroup}" required="true" requiredMessage="#{bundle.CreateUsersRequiredMessage_ugroup}">

</h:selectOneMenu>

----------------编辑(在@Balus回答之后)---------------------以下是获取 JPA 列表并显示为 <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++;
}

但是由于这个静态方法在我的代码中随处使用,它会产生任何不良后果吗?

  • 就像,当用户明确想要来自 <h:selectOneMenu /> 的空值时,如果他决定不选择任何选项。我的猜测是使用 <f:selectItem :

最佳答案

只需确保数组或列表中#{ugroupController.itemsAvailableSelectOne} 不包含值为null 的项目。第一项将是默认选择的选项。

或者,在 bean 的(后)构造期间将 #{usersController.selected.ugroup} 后面的属性预设为所需项目的值。

关于java - 如何避免/抑制 JSF <h :selectOneMenu/> null (no selection option) tab?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6588294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com