Не следует добавлять компонент динамически. Просто добавьте его туда, где он принадлежит, но визуализируйте его условно, используя rendered
-атрибут.
<ui:inputText value="#{yourBean.text}" rendered="#{yourBean.isRendered}" />
Теперь вы можете использовать логическое свойство isRendered
в своем компоненте поддержки, чтобы определить, следует ли inputText
отображать или нет. Компонент с rendered="false"
не будет отображаться в конечном дереве компонентов и, следовательно, не будет генерировать html-вывод или другие издержки.