Kiedy używać nasłuchiwania valueChangeListener lub f: ajax?

Jaka jest różnica między następującymi dwoma fragmentami kodu - w odniesieniu do listenerrozmieszczenia? <h:selectOneMenu ...> <f:selectItems ... /> <f:ajax listener="#{bean.listener}" /> </h:selectOneMenu> i <h:selectOneMenu ...