Quand utiliser valueChangeListener ou f: ajax listener?

Quelle est la différence entre les deux morceaux de code suivants - en ce qui concerne le listenerplacement? <h:selectOneMenu ...> <f:selectItems ... /> <f:ajax listener="#{bean.listener}" /> </h:selectOneMenu> et <h:selectOneMenu ...