问题描述:
类Locales保存支持的语言。注意 Locale current ,问题所在,继续看下去。
public class Locales
{
private Locale current;
public void setCurrent(Locale current)
{
this.current = current;
}
public Map<String, Locale> getLocales()
{
Map<String, Locale> locales = new Hashtable<String, Locale>();
ResourceBundle bundle = ResourceBundle.getBundle("messageResource" , current);
locales.put(bundle.getString("usen"), Locale.US);
locales.put(bundle.getString("zhcn"), Locale.CHINA);
return locales;
}
}页面 selectlanguage.jsp 为选择语言页面。
<s:set name="SESSION_LOCALE" value="#session['WW_TRANS_I18N_LOCALE']"/>
<s:bean id="locales" name="com.gc.locale.Locales">
<s:param name="current" value="#SESSION_LOCALE == null ? locale : #SESSION_LOCALE"/>
</s:bean>
<form action="<s:url/>" id="langForm"
style="background-color:#bbbbbb; padding-top: 4px; padding-bottom: 4px;">
<s:text name="languag"/>
<s:select label="Language" list="#locales.locales" listKey="value" listValue="key"
value="#SESSION_LOCALE == null? locale : #SESSION_LOCALE"
name="request_locale" id="langSelecter"
onchange="langSelecter_onChanged()" theme="simple"/>
</form>struts.xml 配置文件 片段
<package name="gc" extends="struts-default">
<action name="*">
<result>/{1}.jsp</result>
</action>
</package>问题来了:
无法实现用户选择的语言显示
页面设置了参数 <s:param name="current" value="#SESSION_LOCALE == null ? 'en-US' : #SESSION_LOCALE"/>
到类 Locales 是如何封装的?数据类型不同?
参考调试信息,传入类的 current 为 NULL
页面的 "#SESSION_LOCALE == locale ? 'en-US' : #SESSION_LOCALE"/> locale取不出来?
想象办法?
类Locales保存支持的语言。注意 Locale current ,问题所在,继续看下去。
public class Locales
{
private Locale current;
public void setCurrent(Locale current)
{
this.current = current;
}
public Map<String, Locale> getLocales()
{
Map<String, Locale> locales = new Hashtable<String, Locale>();
ResourceBundle bundle = ResourceBundle.getBundle("messageResource" , current);
locales.put(bundle.getString("usen"), Locale.US);
locales.put(bundle.getString("zhcn"), Locale.CHINA);
return locales;
}
}页面 selectlanguage.jsp 为选择语言页面。
<s:set name="SESSION_LOCALE" value="#session['WW_TRANS_I18N_LOCALE']"/>
<s:bean id="locales" name="com.gc.locale.Locales">
<s:param name="current" value="#SESSION_LOCALE == null ? locale : #SESSION_LOCALE"/>
</s:bean>
<form action="<s:url/>" id="langForm"
style="background-color:#bbbbbb; padding-top: 4px; padding-bottom: 4px;">
<s:text name="languag"/>
<s:select label="Language" list="#locales.locales" listKey="value" listValue="key"
value="#SESSION_LOCALE == null? locale : #SESSION_LOCALE"
name="request_locale" id="langSelecter"
onchange="langSelecter_onChanged()" theme="simple"/>
</form>struts.xml 配置文件 片段
<package name="gc" extends="struts-default">
<action name="*">
<result>/{1}.jsp</result>
</action>
</package>问题来了:
无法实现用户选择的语言显示
页面设置了参数 <s:param name="current" value="#SESSION_LOCALE == null ? 'en-US' : #SESSION_LOCALE"/>
到类 Locales 是如何封装的?数据类型不同?
参考调试信息,传入类的 current 为 NULL
页面的 "#SESSION_LOCALE == locale ? 'en-US' : #SESSION_LOCALE"/> locale取不出来?
想象办法?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货