Нельзя использовать время рендеринга EL в атрибуте id
. Вместо этого присвойте ему фиксированный идентификатор и присвойте составному идентификатору. Так, например:
<buttons:myButton id="foo" ... />
с в реализации
<h:commandButton id="button1" ... />
<h:commandButton id="button2" ... />
<h:commandButton id="button3" ... />
Затем они станут foo:button1
, foo:button2
и foo:button3
, где часть foo
таким образом контролируется в клиенте шаблона.
Если вам действительно нужны динамические идентификаторы по какой-то неочевидной причине, вам лучше создать файл тегов, а не составной компонент.