what about writing or subclassing a url coding strategy to use the first part of the url to set the session's locale?
oliverw wrote: > > Hi > > I just wanted to make sure that my idea makes some sense if implemented > this way. My prerequisites: > > 1. I want to mount my homepage and all it's children (which are not that > many) multiple times at different mountpoints > 2. Each mountpoint is prefixed with a language identifier which ultimately > decides in which language the content is presented (the site consists to > 95% of dynamic content which resides pre-localized in a database). > Example: > > http://domain.com -> homepage english > http://domain.com/items -> item info page english > > http://domain.com/de -> homepage german > http://domain.com/de/items-> item info page german > > In order to achieve the desired behavior I've subclassed the > WebRequestCycle like shown below. Since I'm still pretty new to wicket, I > would like to know if this is how it should be done the "Wicket Way" or if > there's a better solution. > > class MyRequestCycle extends WebRequestCycle > { > public MyRequestCycle(WebApplication application, WebRequest request, > Response response) > { > super(application, request, response); > > // init locale map > mapPatch2Locale = new HashMap<String, Locale>(); > mapPatch2Locale.put("de", Locale.GERMAN); > mapPatch2Locale.put("fr", Locale.FRENCH); > mapPatch2Locale.put("es", new Locale("es")); > } > > /** Maps Request Path to associated Locale **/ > HashMap<String, Locale> mapPatch2Locale; > > protected void onBeginRequest() > { > super.onBeginRequest(); > > // adjust locale to url prefix > String path = getRequest().getPath(); > Locale locale = null; > > Set<String> keys = mapPatch2Locale.keySet(); > while(keys.iterator().hasNext()) > { > String _path = keys.iterator().next(); > if(path.equals(_path) || path.startsWith(_path + "/")) > { > locale = mapPatch2Locale.get(_path); > break; > } > } > > // default is english > if(locale == null) > locale = Locale.ENGLISH; > > // setup locale for this request > getSession().setLocale(locale); > } > } > > -- View this message in context: http://www.nabble.com/Multiple-Homepage-Mountpoints-for-Localization-tp15507606p15508899.html Sent from the Wicket - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
