Отключить автозаполнение, если 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 присутствует "идентифицирующий атрибут".

Есть ли способ обойти это?

0 ответов

Другие вопросы по тегам