What I meant by that was....
Struts2 inherited from WebWork the confusing nomenclature of an "XWork Package" that is different from a
Java Package. I don't think you're running into this, but it is worth checking. Here's be more or less complete setup (but I'm using the SmartURLs plugin so some stuff will be different.)
Notice near the top there is the constant for "smarturls.action.default.parent.package" set to "cib-default". This means, effectively, that all my actions are "inside" the "cib-default" "XWork Package" and thus pickup the packages default-interceptor stack.
Since it doesn't look like you're using SmartURLs, this is probably less of a problem -- unless you have multiple <package>...</package> blocks in your struts.xml file and you've configured your action in one, and your interceptors in another... XWork packages are more than "just" namespaces as some books/tutorials present them.
I remember when I was first using validation I had some problems, which sounded similar to yours. Some of the other things I remember having to play with a lot...
the @Validation() annotation above the class. I think it requires the ()'s
I think I would make the advice to try a simpler example first -- single method per action (ie try it with the dispatch action style you're currently using as then there's fewer moving parts to debug)
Finally does your LoginSupport class extend from ActionSupport. I think part of the annotation magic might require that...