两次我有一个Facelets标记这样当复制组件ID例外:JSF:包括相同Facelets标记
<ui:composition>
<h:outputText value="#{label}"/>
<h:inputText id="input" value="#{value}"/>
<h:message for="input"/>
</ui:composition>
现在,如果我inlcude此Facelets标记两次在同一页上,我得到一个异常抱怨复制组件ID。这里提出的一个解决方案https://stackoverflow.com/a/21572756/1785730是为id提供一个前缀。但是,我发现每次使用此facelets标签时都必须提供一个id前缀,这很麻烦。顺便说一句,我不需要标签外的h:inputText的id。
所以我想两种方式我怎样才能解决这个问题:
- 有没有办法到H链接:消息发送到H:inputText的,而不必指定IDS?
- 如果没有,我可以用NamingContainer包装标签。哪个元素适合这个?我不能在这里使用h:form,因为这个标签已经进入了一个表单。
为什么不从你指的链接做'3'? – Kukeltje
我正在寻找更轻量级的解决方案。我宁愿留下facelets。 – user1785730
此外,复合组件最终是* one *组件。我的标签正好适合三列h:panelGrid。 – user1785730