I want you to give me a hint on i18n regarding Struts. I do know the general mechanism with ResourceBundles where the application determines the language with the client's default locale. Unfortenately, the book I used to learn Struts has no info about a more sophicticated approach: which mechanisms does Struts provides for switching locales at runtime so the user can choose his language by himself? My first guess is that I just create a new action to achieve this, the action then uses a cookie to persist the made choice. But what exaclty has the action to do to switch the language?
You're on the right track. The Struts Action class (the superclass of your Action class) has a setLocale() method. By calling it, you can override the default behavior of struts, which is to use the browser's default locale to set the locale.