使用LocaleAction不会更改语言环境

时间:2012-02-14 10:44:41

标签: struts struts-1

我使用struts 1.3并希望进行本地化。 这就是我正在做的事情:

    struts-config.xml中的
  1. <form-bean name="English" type="org.apache.struts.action.DynaActionForm">
        <form-property name="language" type="String" initial="en" />
    </form-bean>
    <form-bean name="Russian" type="org.apache.struts.action.DynaActionForm">
        <form-property name="language" type="String" initial="ru" />
    </form-bean>
    
    <action-mappings>
        <action path="/English" name="English"
            type="org.apache.struts.actions.LocaleAction">
        <forward name="success" path="/index.jsp" />
    </action>
    <action path="/Russian" name="Russian"
            type="org.apache.struts.actions.LocaleAction">
        <forward name="success" path="/index.jsp" />
    </action>
    

    <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor" />
    
  2. jsp.page上的
  3. <html:link action="/Russian">
        <bean:message key="jsp.header.russian"/>
    </html:link>
    <html:link action="/English">
            <bean:message key="jsp.header.english"/>
    </html:link>
    
  4. 也许我做错了什么?任何想法?
    附:是的,我有messages_ru.properties和messages_en.properties。

1 个答案:

答案 0 :(得分:0)

哦,我找到了原因,struts不知道这种类型的字符串。

<form-property name="language" type="java.lang.String" initial="en" />