Ваше решение должно работать нормально - атрибут src может быть литералом или выражением EL. Возможно, вы захотите заставить выражение использовать свойство управляемого компонента или разрешить его с помощью функции . Таким образом, вы можете гарантировать, что он никогда не будет нулевым (вы можете вернуть ссылку на пустую страницу, если она была). Вы, вероятно, получите ошибку 404, если # {r} преобразуется в ноль.
<ui:include src="#{myfn:resolveNotNull(r, 'pageIfRIsNull')}.xhtml" />