如何在运行时更改xml:language?
情况是,人们已经选择“EN”作为浏览器语言。一些其他用户在相同的语言属性中具有例如'FI'。对于第一个人来说,一切都以英文显示,因此第二个用芬兰语显示。这两个人使用谷歌浏览器,因为两者都在代码上将xml:lang设置为默认“en-US”,芬兰文本将被视为英文。现在我想要的是芬兰语文本在xml:lang设置级别中被识别为芬兰语的运行时。因此,xml:lang值不能像现在那样进行硬编码。我也不想为七种语言制作7个不同的页面,因为我无法在运行时修改一个字段。
我的设置是拥有struts2和xwork for i18n之一。 Setup是一个带有变量xml:lang的html标记的jsp文件,应该在运行时更改该设置。
答案 0 :(得分:1)
我假设您要将此值设置为<html>
级别。
示例当前代码:
<html lang="en" xml:lang="en">
示例修订代码:
<html lang="${action.language}" xml:lang="${action.language}">
然后,在Struts2操作上添加一个getLanguage()
方法(只需将其放在所有内容继承的基本操作上),例如:
public String getLanguage() {
// return the appropriate language based on the user's choice
}