Спасибо, Джигар Джоши. Вы дали мне подсказку ключа. Работает с такими строками кода:
<h:commandLink value="Save">
<h:graphicImage url="/images/save_48.png" />
<f:ajax event="click" render="@none" listener="#{beanX.save}" />
</h:commandLink>
Я был на этом сайте раньше, я не думал, что o:commandLink
может не справиться с этим, может быть ошибкой?
Использование h:commandLink
вместо o:commandLink
и f:ajax
с атрибутом listener решило мою проблему.