【发布时间】:2017-03-06 04:44:39
【问题描述】:
经过一些实验和阅读,我找到了与How to reference component inside a composite component when using a converter相同的解决方案
但问题是我有两个用于值持有者的 ID,根据文档,我可以使用 id1,id2 作为目标,但这不起作用。
这是我的复合组件:
<cc:interface>
<cc:attribute name="id" required="true"/>
<cc:attribute name="value" required="true"/>
<cc:attribute name="editable" required="true"/>
<cc:editableValueHolder name="element" targets="input,output"/>
</cc:interface>
<cc:implementation>
<h:inputText value="#{cc.attrs.value}" id="input" rendered="#{cc.attrs.editable}"/>
<h:outputText value="#{cc.attrs.value}" id="output" rendered="#{not cc.attrs.editable}"/>
</cc:implementation>
这就是我打算使用 CC 的方式:
<r:inputText editable="#{registrationBean.editable}" id="dateOfBirth"
value="#{registrationBean.dateOfBirth}">
<f:convertDateTime pattern="dd-MM-yyyy" type="date" for="element" />
</r:inputText>
我最初尝试通过 insertChildren 和 facet 插入转换器,但没有成功。
【问题讨论】:
标签: jsf jsf-2.2 composite-component