日期:2014-05-20  浏览次数:20753 次

页面超时后想返回到之前页面状态,其中之前登陆页面的语言没有返回正确。
最近在一个二次开发项目中,有个这样的bug,但由于工程代码不是很熟悉,很想通过大家的回答得到支援。详细

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

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

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

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

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

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

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

------解决方案--------------------
语言类型这种非敏感的数据可以用 cookie 来避免你这种情况
------解决方案--------------------
1 ${header['accept-language'] 
2 cookie