我正在尝试使用 selectOneMenu 创建一个简单的复合组件......这真的很简单:
<cc:implementation>
<h:panelGrid columns="2">
<p:outputLabel for="#{cc.attrs.fieldId}" value="#{cc.attrs.fieldLabel}"/>
<p:selectOneMenu id="#{cc.attrs.fieldId}" required="#{cc.attrs.required}" converter="#{cc.attrs.converter}" value="#{cc.attrs.targetValue}">
<f:selectItem itemLabel="#{msg['label.selecione.item']}" itemValue="" />
<f:selectItems value="#{cc.attrs.listValue}"/>
</p:selectOneMenu>
</h:panelGrid>
</cc:implementation>
所以,问题是当我试图通过转换器时!那是一个 ENUM 转换器(使用 @FacesConverter(value = "tipoCampoConverter") 注释扩展 EnumConverter)
错误是:javax.el.ELException:无法将类型为 java.lang.String 的类型的tipoCampoConverter 转换为接口 javax.faces.convert.Converter
**编辑:
一些额外的信息:
我试图声明带有和不带有“类型”的属性:
<cc:attribute name="converter" required="true" type="javax.faces.convert.Converter"/>
更多信息: 信息:启动 Servlet 引擎:Apache Tomcat/7.0.12 信息:初始化 Mojarra 2.1.10 信息:在 PrimeFaces 3.4.2 上运行 信息:在 PrimeFaces 扩展 0.6.1 上运行
:)