динамический пользовательский интерфейс: включить с пользовательским интерфейсом: фрагмент: компонент с визуализированным ложным все еще сделать внутри дерева компонентов

Я вынужден использовать очень старую версию MyFaces 2.0.5, я думаю, и динамическое включение с EL вызывает много проблем, поэтому я переключаюсь на статическое включение с помощью ui: фрагмента

<ui:fragment rendered="#{filtersPopup.filterFileName == 'checkBoxFilters'}">
    checkBoxFilters
    <ui:include src="/analytics/checkBoxFilters.xhtml" rendered="#{filtersPopup.filter != null}"/>
</ui:fragment>
<ui:fragment rendered="#{filtersPopup.filterFileName == 'DateRelativeFilter'}">
    DateRelativeFilter
    <ui:include src="/analytics/DateRelativeFilter.xhtml" rendered="#{filtersPopup.filter != null}"/>
</ui:fragment>
<ui:fragment rendered="#{filtersPopup.filterFileName == 'listboxFilter'}">
    listboxFilter
    <ui:include src="/analytics/listboxFilter.xhtml" rendered="#{filtersPopup.filter != null}"/>
</ui:fragment>

При этом он по-прежнему жалуется на дублирующийся идентификатор, потому что я использую один и тот же идентификатор для пар этих исходных файлов. Так что кажется, что дажеrendered должно бытьfalse, он все еще делает это в дереве компонентов. Однако дубликат идентификатора в порядке. Я могу это легко исправить, поэтому теперь, когда я отправляю форму, я получил это исключение

 /analytics/checkBoxFilters.xhtml at line 24 and column 118 value="#{filtersPopup.filter.groups}": Property 'groups' not found on type ListBoxFilter

так как вы можете видеть из исключения, этоListBoxFilter это объект, который я хочу, поэтому включайте только ListBoxFilter.xhtml, но к нему обращаютсяcheckBoxFilters.xhtml отсюда и ошибка. Любая идея, как решить эту проблему, пожалуйста?

Ответы на вопрос(1)

Ваш ответ на вопрос