I do not recommend using ActionListeners. They have their place, but a straight action method is the better way 99 times out of 100. The reason we have so many ActionListeners polluting JSF I suspect is that too many people learned JSF from out-of-date documentation.
I'm assuming that the form was defined within a JSF view element, that the WEB-INF/web.xml was properly configured for JSF and that the view was requested via its JSF URL and not via its resource path. Those are fundamental requirements for JSF to work.
If all of the above conditions have been met, there's still one more. JSF requires an all-or-nothing set of valid data. If any data value on a submitted form fails validation, then the backing bean will not be updated and the action method (and/or actionListeners) will not be executed.
If there's any doubt, add an "h:messages" tag to the page to display the validation messages.
Also, one other thing. "ajaxSingle" reduces the amount of data that will be sent to the server to only the indicated control. Specifically the "user id" and "password" values will not be processed and will not update the backing bean.
An IDE is no substitute for an Intelligent Developer.