Still, I'm going to be a party-pooper and repeat (again) that since 2006 when I first started using
JSF in production, I've
never used an ActionListener in any of my webapps.
It's not that ActionListeners are totally useless, but the particular cases where it's preferable to use an ActionListener instead of the simpler more portable action method are so specialized and so rare that I've never done so.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.