2012-08-31 45 views
2

我正在開發一個Spring 3 MVC應用程序,並且有一些JQuery日期選擇器,我想給出一個基於用戶區域設置的日期格式。我看着使用@ModelAttribute註釋的控制器方法,但我看不到如何獲取請求上下文。在Spring MVC Web應用程序中爲JQuery DatePicker提供基於區域的日期格式的最佳方式?

當前代碼:

<script type="text/javascript"> 
    <![CDATA[ 
     $("#startDate").datepicker({ 
      showOn: "both", 
      buttonImage: "${calendarIconUrl}", 
      dateFormat:'yy/mm/dd', 
      minDate:0 
     }); 
    ]]> 
</script> 

所以它的'yy/mm/dd'我想基於地區的日期格式來代替。

編輯:所以我發現http://docs.jquery.com/UI/Datepicker/Localization但現在我需要找出如何從瀏覽器中的國家代碼...

回答

1

我曾在那裏的語言環境是由服務器環境中設置了類似的問題(在對比根據需要瀏覽器語言環境)。我「翻譯」在Java語言環境jQuery的日期選擇區域設置是這樣的:

Locale locale = LocaleContextHolder.getLocale(); 
String datepickerLocale; 
if(locale.getLanguage().equals("de")){ 
    datepickerLocale = "de"; // only "de", no country code 
} else if (locale.getLanguage().equals("en")){ 
    if(locale.getCountry().equals("GB")){ 
     datepickerLocale = "en-GB"; // en-GB must be set explicitly 
    } else if(locale.getCountry().equals("US")){ 
     datepickerLocale = ""; // en-US is default 
    } 
} 
// [...] more locales if needed, see docs for Datepicker Localization 
uiModel.addAttribute("datepickerLocale", datepickerLocale); 

,然後在視圖設置:

$.datepicker.setDefaults($.datepicker.regional['${datepickerLocale}']); 

充分利用瀏覽器(要求)的區域應該是這樣的(未經測試)

RequestContextUtils.getLocaleResolver(request).resolveLocale(request) 

更新:我不得不實施了驗證,它告訴春哪個區域使用已提交數據的DateEditor。

相關問題