我基本上有这个复合:
<cc:interface>
<cc:attribute name="value" />
<cc:attribute name="itemLabel" type="java.lang.String"/>
<cc:attribute name="itemValue" />
<cc:attribute name="completeMethod" method-signature="java.util.List oncomplete(java.lang.String))"/>
</cc:interface>
<cc:implementation>
<p:autoComplete
value="#{cc.attrs.value}"
completeMethod="#{cc.attrs.completeMethod}"
var="#{cc.attrs.var}"
itemLabel="#{cc.attrs.itemLabel}"
itemValue="#{cc.attrs.itemValue}"
pt:readonly="#{empty cc.getValueExpression('completeMethod')}" />
</cc:implementation>
我想确保completeMethod
未定义时自动完成是只读的。这样做,它总是返回 true。我想这是关于构建/渲染时间的问题。我引用:
“传递元素”是 JSF 2.2 特定术语,用于将 JSF 组件声明为“普通”HTML5 元素,当普通 HTML5 标记中存在“标识属性”时,应在视图构建期间自动转换为真正的 JSF 组件。
有没有办法解决这个问题?