Похоже, что это невозможно сделать с использованием стандартного подхода JSF + A4J. Содержимое внутри iframe
создается отдельным запросом для отдельного представления, поэтому у него есть собственное дерево компонентов JSF. Таким образом, a4j:commandButton
и a4j:outputPanel
находятся в разных представлениях (разные деревья компонентов), и повторное рендеринг "между деревьями" невозможно.
Для доступа к родительской странице из iframe вы можете попробовать использовать JavaScript.
Например, поместить на родительскую страницу jsFunction, например:
<a4j:jsFunction name="reRenderPanel" reRender="panelId"/>
И в iframe добавьте следующий javascript onclick в commandButton:
<a4j:commandButton onclick="parent.reRenderPanel();"/>