我是struts2的新手,我想在我的网络应用程序中添加i18n。我在文档这样的代码海:
<s:url id="localeEN" namespace="/" action="locale">
<s:param name="request_locale">en</s:param>
</s:url>
<s:url id="localeruRU" namespace="/" action="locale">
<s:param name="request_locale">ru_RU</s:param>
</s:url>
<s:a href="%{localeEN}">English</s:a>
<s:a href="%{localeruRU}">Russian</s:a>
我们需要像这样添加动作类:
public class LocalizationAction extends ActionSupport {
public String execute() {
return SUCCESS;
}
}
在struts.xml中我们添加:
<struts>
<constant name="struts.custom.i18n.resources" value="global"/>
<constant name="struts.devMode" value="true"/>
<package name="default" namespace="/" extends="struts-default">
<action name="locale" class="by.bulgak.newsmanager.action.LocalizationAction">
<result name="success">index.jsp</result>
</action>
</package>
</struts>
我也有名称为global
和global_ru_RU
我做了我从教程中读到的所有内容但是当我在jsp页面中设置param时,我的IDE告诉我名称request_locale
是未知属性..
我的IDE不支持它,这就是为什么当我想在运行我的应用程序时更改语言时我的IDE不会在struts2中调用I18n方法
答案 0 :(得分:1)
Struts2不会将默认的i18n属性与英语相关联。
当我设置默认属性时:property_name_en.properties
它工作正常。
但我不明白为什么会这样。 我看到很多例子,我甚至将它们放入我的机器中,它们工作正常, 但我没有工作..可能有人知道什么是问题?