Well, for one thing "ctrl" is a very bad classname. There is a convention in Java that classnames start with an upper-case letter and that object instance and property names must start with a lower-case letter. Many tools will malfunction if you do not adhere to that standard.
Your sample code also does not include a package statement. If the actual code is also lacking the package statement, that places the class in question into the Java default package, which is also something that can cause you problems.
Finally, while your injected bean definition is OK, the injection target specifications are incomplete. So I cannot confirm that everything is properly done.
You are mixing XML (faces-config) and annotations. Be aware that XML will override annotations. It's best to use the same technique for everything to reduce confusion.
The following faces-config elements should function. Note that I have altered a few things to make them comply with JSF requirements. Actual details may vary.
An IDE is no substitute for an Intelligent Developer.