java-如何在不使用queryParam的情况下设置GWT语言环境onLoad?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-如何在不使用queryParam的情况下设置GWT语言环境onLoad?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1578字,纯文字阅读大概需要3分钟。
内容图文
我的应用程序包括几个部分.我想通过更改我所有应用程序中的URL(一个小GWT位置除外)来防止用户更改语言环境.我需要在URL中提供该位置的语言环境,以确保该位置以正确的语言加载.
我能做什么?
我看到以下选项:
1)从该位置创建单独的模块,并允许使用queryparam作为该模块的xml设置文件中的语言环境源.据我了解,我需要填写< set-configuration-property name =“ locale.searchorder” value =“ queryparam,cookie” />
可能会起作用,但是对于这么小的任务来说有点困难.
2)另一个选择是手动实现所需的功能.我写了以下代码:
String languageCode = Window.Location.getParameter("lang");
Cookies.setCookie(COOKIE_NAME, languageCode, new Date(System.currentTimeMillis() * 1000 * 3600 * 24 * 365 * 100));
Scheduler.get().scheduleDeferred(new ScheduledCommand()
{
@Override
public void execute()
{
Window.Location.reload();
}
});
它可以工作,但是问题在于延迟调用:如果我使用它,则页面会加载,然后会出现重载信号,并且在显示页面后开始重新加载.用户观察到奇怪的闪烁.如果我不使用延迟调用,则未设置cookie,我不知道为什么(请您解释一下).
那么,您将如何解决此任务?
解决方法:
我们避免在GWT代码中设置Cookie.相反,我们根据用户操作或设置在登录页面中设置cookie,然后重定向到GWT应用程序.
步骤1-登录-JSP页面设置cookie并进行身份验证.
第2步-成功后,将URL指向托管GWT应用程序的html文件.
第3步-GWT仅需要通过模块xml文件读取cookie信息.
在您的.gwt.xml文件中,提供Login jsp设置的cookie.
<set-configuration-property name="locale.cookie" value="GWT_LOCALE" />
也参考
1)GWT i18n, change metaTag and reload application
2)https://developers.google.com/web-toolkit/doc/latest/DevGuideI18nLocale
3)http://learninggwt.blogspot.in/2011/07/gwt-internationalization-and-cookies.html
内容总结
以上是互联网集市为您收集整理的java-如何在不使用queryParam的情况下设置GWT语言环境onLoad?全部内容,希望文章能够帮你解决java-如何在不使用queryParam的情况下设置GWT语言环境onLoad?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。