Отключить автозаполнение, если completeMethod не установлен
У меня в основном есть этот композит:
<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
не определено. Делая это, он всегда возвращает истину. Я думаю, это проблема времени сборки / рендеринга. Я цитирую:
"Passthrough elements" - это особый термин JSF 2.2 для объявления компонентов JSF как "простых" элементов HTML5, которые должны автоматически преобразовываться в реальные компоненты JSF во время построения представления, когда в простой разметке HTML5 присутствует "идентифицирующий атрибут".
Есть ли способ обойти это?