下拉列表中的JSF树

我希望在JSF的下拉列表中显示树状结构。 基本上选择项目是在层次结构中,我希望在下拉列表中显而易见。

可能吗 ?

那么,你基本上想要一个HTML ? 使用SelectItemGroup

JSF bean(我假设JSF 1.x):

 private String option; // +getter +setter private List options; // +getter public Bean() { options = new ArrayList(); SelectItemGroup group1 = new SelectItemGroup("Group 1"); group1.setSelectItems(new SelectItem[] { new SelectItem("Group 1 Value 1", "Group 1 Label 1"), new SelectItem("Group 1 Value 2", "Group 1 Label 2"), new SelectItem("Group 1 Value 3", "Group 1 Label 3") }); options.add(group1); SelectItemGroup group2 = new SelectItemGroup("Group 2"); group2.setSelectItems(new SelectItem[] { new SelectItem("Group 2 Value 1", "Group 2 Label 1"), new SelectItem("Group 2 Value 2", "Group 2 Label 2"), new SelectItem("Group 2 Value 3", "Group 2 Label 3") }); options.add(group2); } 

JSF视图:

    

生成的HTML示例:

  

它在浏览器中的样子:

替代文字

我不确定我明白你在问什么。 假设您希望菜单中的子类略微缩进? 如果是这种情况,如何从服务器端/处理程序发送已经用“&nbsp”(空格)或“ – ”解析的项目数组。
换句话说,您不能使用javascript来解析和理解类别层次结构。 你有两个选择 – 通过JSF运行递归(听起来很复杂,对于需要设计页面的UI人员来说很难看),或者在服务器端进行排序,为JSF提供aleardy缩进的条目。

希望这可以帮助,

伊沙伊

但嵌套组无法正确显示。 它们显示为项目而不是组。