Possible. Although I have to admit that the HybridUrlCodingStrategy source
code looks quite intimidating :) Without debugging through the whole thing I
do not even know where to begin.


Jonathan Locke wrote:
> 
> 
> 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-tp15507606p15509840.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]

Reply via email to