我有一个像这样的复合(X):
<composite:interface>
<composite:attribute name="textValue" />
<composite:attribute name="textValueChangeListner"
method-signature="void valueChanged(javax.faces.event.ValueChangeEvent)" />
<composite:implementation>
<ice:inputText
value="#{cc.attrs.textValue}"
valueChangeListener="#{cc.attrs.textValueChangeListner}"/>
在 JSF 页面中,我有类似的内容:
<X:iText
textValue="#{cardBean.getCardValue}"
textValueChangeListner="#{cardHandler.cardValueChanged}" />
上面的代码工作正常。但是当没有“textValueChangeListner”从 JFace 页面传递给组合时,它不起作用;IE:
<X:iText
textValue="#{cardBean.getCardValue}" />
我得到的错误:[javax.enterprise.resource.webcontainer.jsf.lifecycle] 无法通过使用 EL 表达式“#{cc.attrs.textValueChangeListner}”的页面解析复合组件:javax.faces.FacesException:无法解析复合组件从使用 EL 表达式 '#{cc.attrs.textValueChangeListner}' 的页面
在我的场景中,页面开发人员可能会或可能不会向复合组件提供“textValueChangeListner”。我怎样才能做到这一点?