JSF中复合组件的动态ID

时间:2012-11-19 12:35:49

标签: jsf jsf-2 composite-component

我在我的复合JSF组件中创建了一个链接:

<h:link id="menu-abc" outcome="/abc" value="ABC" />

该链接不在表单中。但是,当我查看呈现的HTML代码时,会有一个动态生成的ID作为我的id的前缀:

<a id="j_idt33_menu-abg" name="j_idt33_abv" href="abc.xhtml">ABC</a>

我无法找到此动态ID的来源。有什么想法吗?

ps:我们将分隔符从:改为:

1 个答案:

答案 0 :(得分:3)

症状表明实际根本没有自定义组件,而是复合组件,并且您已从NamingContainer更改了:分隔符由于某种原因导致_

复合组件本身就是naming containers,并在其所有子项的ID前面加上自己的ID。原因很简单,因为它们可以在一个视图中重复使用多次。如果未预先组合复合组件自己的ID,则会在组件树中导致重复的ID。

真实的自定义组件中,您可以完全控制客户端ID。

另见:

相关问题