2013-07-31 87 views
0

美好的一天people.Thank你是在這個驚人的web資源幫助人們字面上的任何東西。Jquery datepicker和Spring Locale。使用語言環境語言更改日期選擇器語言。如何?

所以,我沒有在JQuery和JavaScript的經驗。我從互聯網上得到了簡單的jQuery日期選擇器代碼:

$("#dateinput").datepicker({ 
    dateFormat: "yy-mm-dd", 
    beforeShowDay: beforeShowDayHandler, 
    showOn: 'both', 
    onClose: function (dateText, inst) { 
     $(this).attr("disabled", false); 
    }, 
    beforeShow: function (input, inst) { 
     $(this).attr("disabled", true); 
    } 
}); 

function beforeShowDayHandler(date) { 
    if (self.SelectedDayValue != -1) { 
     if (date.getDate() != 1) { 
      return [false, '', 'selected']; 
     } 
    } 
    return [true, '']; 
} 

我有一個想法,我的溫泉區域改變了我的日期選擇器來影響改變自己的語言環境。這裏是我的春天區域配置:

在我的servlet-context.xml中:

<!-- Change my local over url variable lang. Example: ?lang=en --> 
    <interceptors> 
     <beans:bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> 
      <beans:property name="paramName" value="lang"/> 
     </beans:bean> 
    </interceptors> 

    <!-- Fething lacale from use cookie files --> 
    <beans:bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"> 
     <beans:property name="defaultLocale" value="ru"/> 
    </beans:bean> 

頁中,在用戶點擊鏈接的代碼巫變化區域的我的jsp和平:

Language/Язык/文 : <a href="input?lang=en">English</a>||<a href="input?lang=ru">Русский</a>||<a href="input?lang=cn">中文</a> 

由於你可以看到當用戶按更改語言鏈接它在瀏覽器中傳遞地址字符串中的一些參數,如:localhost:8080/controller/main.jsp?lang=en

我怎樣才能把這一個參數,並把它我的日期選擇器代碼?任何例子?無論如何,如果你想能夠幫助,無論如何都要感謝你。

回答

0

我在項目中使用過這段代碼一次。希望它有幫助:

$(function() { 
    calendar(); 
}); 

function calendar(){ 
    //omitted datepicker init 

    $(".calendar").datepicker("option", $.datepicker.regional["<%=locale%>"]); 
} 

所有日期字段的css屬性指定爲calender並且區域設置在java代碼中檢索。我對CookieLocaleResolver不熟悉,我使用了SessionLocalResolver,但應該有相同的方法來獲取Locale。

public static Locale getLocaleFrom(HttpSession session) { 
    return (Locale) session 
      .getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME); 
} 

而且我記得我們修改了datepicker以獲得Java和datepicker之間不同的語言環境值。您可以使用映射機制作爲替代解決方案。

+0

謝謝主席先生的回覆。這似乎是非常好的解決方案。我不熟悉Jquery,也不能說我完全理解,但任何方式都謝謝。 –