Jsf widgetvar复合组件与命名容器

Jsf widgetvar复合组件与命名容器,jsf,primefaces,composite-component,Jsf,Primefaces,Composite Component,我制作了一个复合组件,里面有一个覆盖面板。我把我的widgetVar放在建议中:widgetVar=“#{cc.id}\u MyOverlayPanelWidget”并用PF('{cc.id}\u MyOverlayPanelWidget').hide()引用 我需要将我的复合组件用于p:tabview。在不同的命名容器中为我的组件使用相同的id是有效的。问题是,当我加载我的2个选项卡时,2个对象有相同的widgetVar。我不会使用cc:clientId因为:对widgetVar无效。对于这种

我制作了一个复合组件,里面有一个覆盖面板。我把我的widgetVar放在建议中:
widgetVar=“#{cc.id}\u MyOverlayPanelWidget”
并用
PF('{cc.id}\u MyOverlayPanelWidget').hide()引用


我需要将我的复合组件用于
p:tabview
。在不同的命名容器中为我的组件使用相同的id是有效的。问题是,当我加载我的2个选项卡时,2个对象有相同的widgetVar。我不会使用
cc:clientId
因为
对widgetVar无效。对于这种情况,您有什么建议?

使用
cc.clientId
并用有效符号替换所有冒号。这就是PrimeFaces本身在自动生成widgetVar时所做的,它用下划线替换冒号。

注意,在当前版本的PF中,widgetVar不再是直接的javascript变量,而是javascript映射中的查找。widgetVar现在只是一个键,可以有任何您想要的格式,包括“:”。