通过lang属性,可以为每个日期控件单独配置语言,当然也可以通过WdatePicker.js配置全局的语言
繁体中文:
<input id="d311" class="Wdate" type="text" onFocus="WdatePicker({lang:'zh-tw'})"/>
英文:
<input id="d312" class="Wdate" type="text" onFocus="WdatePicker({lang:'en'})"/>
简体中文:
<input id="d313" class="Wdate" type="text" onFocus="WdatePicker({lang:'zh-cn'})"/>
注意:默认情况lang='auto',即根据浏览器的语言自动选择语言.
但是,如果需要动态的切换语言环境,此时日期控件需要跟随语言环境的变换而改变显示。
在切换语言时,通过action中设置session,如下所示
ActionContext.getContext().setLocale(locale);
ServletActionContext.getRequest().getSession().setAttribute("WW_TRANS_I18N_LOCALE", locale);
ServletActionContext.getRequest().getSession().setAttribute("language", locale.getLanguage().equals("en") ? "en" : locale.toString().toLowerCase());
因为WdatePicker的语言列表为
所以将语言环境存储在session中时,需要将其改为对应的值。en_US-》en
在jsp页面中日期控件中通过如下方式设置其语言:
<input class="input" type="text" id="addbeginTime" name="addbeginTime" value="" onclick="new WdatePicker({dateFmt:'yyyy-MM-dd',lang:'<s:property value='#session.language'/>'})" maxlength="8"/>
οnclick="new WdatePicker({dateFmt:'yyyy-MM-dd',lang:'<s:property value='#session.language'/>'})"
网上找了很多方法,但都无效,暂时应用该方法,留待后续研究更好的实现方式。