I had a very special case, and I leave here as I detected it after several days. You have to do with the loading of the .properties message file that is configured for Struts2.
Regardless of where you set up, there is an undocumented situation that can give you a lot of headaches. It is that when using Unicode for accented and special characters I detected that when one of those characters is wrong (either due to lack of letter, or is a non-existent code), Struts2 processes it and detects the failure, but not the bitacora anywhere nor does it mention it in the Application Server log. It just does not load the messages and they can not be used without bitacorating the reason.
I was able to detect it when trying to implement an alternative solution since in my JSP pages and in its validations I could not access the properties file and the messages it contains are widely used by JSP screens.
I was able to corroborate by code that there was access to it, but it just did not load, as I said nowhere is the error in the load bitacora. I found the problem when trying to manually upload the file.
The message obtained was "java.lang.IllegalArgumentException: Malformed \ uxxxx encoding" and in effect, a Unicode code was wrong and by solving it Struts2 could already show me the resource messages without problems.
The disappointment of the case is that in the face of such a simple circumstance the framework does not bite any message in the process of loading the application, which is where it loads the resources for its later use.
I tried many alternatives, such as placing the file in another route (it was in classes), placing it directly with the Action, configuring it in the struts.xml and in the struts.properties, etc.
I hope you serve someone.