将选择中的whitepspace转换为nbsp;

时间:2012-04-19 12:25:38

标签: jsf-2 tags

我有一个选择:

<h:selectOneMenu id="treeNode" label="#{msgs.treeNode}" value="#{treeNode}">
  <f:selectItems value="#{treeItems}" />
</h:selectOneMenu>

使用这些selectItems:

List<SelectItem> treeItems = new ArrayList<SelectItem>();
treeItems.add(new SelectItem("1", "Parent"));
treeItems.add(new SelectItem("2", "  Child 0 0"));
treeItems.add(new SelectItem("2", "    Child 0 0 0"));
treeItems.add(new SelectItem("2", "    Child 0 0 1"));
treeItems.add(new SelectItem("2", "  Child 0 1"));

我的问题是,select中的输出应该看起来像一棵树,但由于whitspace消失了,我有一个&#34; flat&#34; -view。

有没有办法将whitspace转换成一个不可破坏的空间?

由于 强尼

2 个答案:

答案 0 :(得分:2)

只需自己将&nbsp;替换为escape,然后将false属性设置为SelectItem。这是List<SelectItem> treeItems = new ArrayList<SelectItem>(); treeItems.add(new SelectItem("1", "Parent", null, false, false)); treeItems.add(new SelectItem("2", "&nbsp;&nbsp;Child 0 0", null, false, false)); treeItems.add(new SelectItem("3", "&nbsp;&nbsp;&nbsp;&nbsp;Child 0 0 0", null, false, false)); treeItems.add(new SelectItem("4", "&nbsp;&nbsp;&nbsp;&nbsp;Child 0 0 1", null, false, false)); treeItems.add(new SelectItem("5", "&nbsp;&nbsp;Child 0 1", null, false, false)); 构造函数的第5个参数。

{{1}}

答案 1 :(得分:0)

在添加最后一个treeItem之后,你可以在每个SelectItem上迭代一个foreach,并用“&nbsp;”替换每个空字符串“”吗?