页面超时后想返回到之前登陆页面状态,其中之前登陆页面的语言没有返回正确。

页面超时后想返回到之前登陆页面状态,其中之前登陆页面的语言没有返回正确。

问题描述:

最近在一个二次开发项目中,有个这样的bug,但由于工程代码不是很熟悉,很想通过大家的回答得到支援。详细

问题内容如下:
我的界面有英语、西语, 当用es(西语)登陆,无论点击到哪个页面,等到session过期后弹出alert警

告"timeout....",返回到登陆界面永远的都是英语,正确来说应该是返回之前状态(西语)。通过在代码中跟踪,从

登陆后代码里有记录登陆时语言的状态,但sesion过期超时后,在转到登陆前的actoin方法login()里面取出的语言

是中文,接着后面有个判断 if(!languageType.contains("en") || langguageType.contains("es"))

{languageType== "en"}
因此返回到登陆页面永远都是英语,
这就感觉很奇怪了,我在想是不是与我当前的中文系统有关,因此代码哪个位置获取的是当前系统的语言或,但一直没有找到超时后

紧接着的代码。 所以请问下大家:
1. 超时后登陆页面得到的是中文,这与代码中取当前系统语言有没有关系,如有一般是怎么获取当前系统的语言的

?或者另有原因呢?
2. sesion超时后想返回到登陆页面的中间环节是通常是怎么处理的?

登录的时候是不是把当前语言设置到session里了。
当session过期时,存储的语言信息会丢失,看你的代码默认返回英语,
你查一下filter看看有没有设置选项,能不能把当前语言信息设置到本地文件或者cooike里 这样就算session过期 也可以从文件或者cooike里读取。

我记得有个监听session失效的filter吧 你加上试试呢