2013-07-31 59 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,也不能说我完全理解,但任何方式都谢谢。 –