我有一些有趣的问题要问你。我正在创建一个复合组件。我知道,我可以使用 ui:param 来存储价值并重用它。但是,如果我将一些相对值(#{component.namingContainer.clientId})存储到该变量中并希望将其作为常量重用怎么办?很难解释 - 这里有我的代码:
<ui:param name="rdfaComp" value="#{component.namingContainer.clientId}"/>
这是在页面的开头 - 我想准确地存储这个 ID,然后这个变量不使用其他任何东西。但后来如果我在具有自己 ID 的元素中重用它,那就不好了。有趣的是,会发生什么 - JSF 不采用相同的值,而是一个相对的值。它再次读取#{component.namingContainer.clientId},而不是固定值。
请问这个怎么解决,能帮我吗?多谢。
更新仍然有一个重要条件:变量rdfaComp 必须立即可用,因为我在 Javascript 函数中重用它(在同一页面上)。像这样:
<h:commandButton onclick="return selectText('#{rdfaComp}:editor', ...
恐怕,有必要使用这样的相对 ID 链:#{component.namingContainer.parent.namingContainer.parent.clientId} etd。但这真的很糟糕。还有其他解决方案吗?