为PrimeFaces remoteCommand生成并使用唯一名称

时间:2012-08-08 11:06:39

标签: java jsf-2 primefaces facelets composite-component

我理解对于具有widgetVar属性的PrimeFaces组件,我可以使用p:widgetVar('myComponentId')从组件的ID中获取widgetVar。如果<p:remoteCommand/>存在相同类型的功能,那将是很好的,因此我可以拥有使用<p:remoteCommand/>的相同类型的复合组件的多个实例。我最初尝试了widgetVar函数,但后来意识到它不起作用。

<p:remoteCommand id="previousCycleCommand"
                 actionListener="#{cc.selectPreviousCycle()}"
                 update=":#{cc.clientId}:updateable"
                 partialSubmit="false"/>

<p:button id="previousCycleButton"
          icon="ui-icon-circle-triangle-w"
          onclick="#{p:widgetVar('previousCycleCommand')}();"/>

我是否可以使用PrimeFaces功能从其完全展开的ID中获取远程命令的名称?

1 个答案:

答案 0 :(得分:0)

使用当前客户端ID创建唯一ID怎么样?由于每个复合组件都应该是唯一的命名容器,因此连接的ID也应该是唯一的。

<p:remoteCommand id="#{cc.clientId}_previousCycleCommand"
             actionListener="#{cc.selectPreviousCycle()}"
             update=":#{cc.clientId}:updateable"
             partialSubmit="false"/>

<p:button id="previousCycleButton"
      icon="ui-icon-circle-triangle-w"
      onclick="#{cc.clientId}_previousCycleCommand();"/>