java—如何在运行时强制更改gwt常量区域设置

t5zmwmid  于 2021-07-15  发布在  Java
关注(0)|答案(1)|浏览(369)

对于spring应用程序中的一些端点,我需要将gwt常量locale更改为en。我可以在管理面板中更改用户区域设置。在某些情况下,我想强制一些常量使用gwt语言环境,不管用户有什么语言环境设置。我的端点与后端相关。我怎样才能强制设置语言环境?
在我的应用程序中,当我更改用户区域设置时,所有端点的所有常量都会更改,无论我是在浏览器中还是在 Postman 中(在查询中不指定区域设置参数)。我不知道它是怎么工作的。继承com.google.gwt.i18n.client.constants类的类appcontants没有任何方法来设置locale。

kyks70gy

kyks70gy1#

区域设置选项在模块xml中定义。例如,以下模块添加了多个区域设置值:

<module>
  <inherits name="com.google.gwt.user.User"/>
  <inherits name="com.google.gwt.i18n.I18N"/>

   <!-- Available Locales -->
   <extend-property name="locale" values="pt"/>
   <extend-property name="locale" values="de"/>
   <extend-property name="locale" values="en"/>

   <!-- Fallback -->
   <set-property-fallback name="locale" value="en"/>
</module>

locale client属性可以使用meta标记指定,也可以作为宿主页url中查询字符串的一部分指定。如果两者都指定,则查询字符串优先。
要在主机页中使用元标记指定locale client属性,请为其嵌入元标记gwt:property as 跟随:

<meta name="gwt:property" content="locale=en">

要使用查询字符串指定locale客户端属性,请为名称locale指定一个值。例如,

https://www.example.org/myapp.html?locale=en

要强制使用所需的区域设置,应用程序应忽略管理面板中的用户设置,并使用查询字符串加载所需的区域设置。或者,如果您希望在默认情况下为页面上的所有用户使用相同的区域设置,则可以将meta标记设置为所需的区域设置。

相关问题