It depends on some facts, first whatversion of JBossPortal are you targetting, and second is the user you are referring to an anonymous user or an authenticated user.
We have a requirement to allow anonymous users to switch the locale using a button, see http://my.epoline.org.
On JBossPortal 2.0 this can only be realized using a servlet filter that wraps each request to the portal servlet. On JBossPortal 2.2 a server interceptor can be used for that, see http://www.jboss.com/index.html?module=bb&op=viewtopic&t=77074.
It was v2.2 (I'm working with the last CVS version). I'm not used to server interceptors tough. Could you post some sample code?