私は struts2 が初めてで、Web アプリケーションに 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メソッドを呼び出さないのはそのためです