Это хорошо известная проблема с Facelets.
Как рекомендуется здесь , Используйте и только для явно разных фрагментов xhtml.
Заключите компоненты в панели, если вам нужно сделать их более уникальными.
Если необходимо, предоставьте идентификаторы, но имейте в виду, что два включенных фрагмента xhtml в качестве братьев и сестер вызовут у вас проблему с дублирующимся идентификатором.
Для незначительной настройки пользовательского интерфейса в зависимости от состояния приложения используйте свойство компонента JSF rendered = "true / false".
Если вы используете PrimeFaces, я могу предложить вам использовать компонент p: outputPanel с визуализированным атрибутом вместо c: if.