锁定老帖子 主题:Locale存放的争执
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-02-06
sinokaka 写道 引用 jianfeng008cn 2 小时前 标准的本地化就是根据request.getlocal来处理的(webwork的i118大致也是这样), 如果是你们自己的东西也应该向标准靠齐, 按照标准是不能自己在页面上选择语言的, 如果有这样的需求我觉得处理的最好方式就是使用cookie, 因为这样处理不会影响server端任何的编码, 不违背i118的“本来面目”, 简单问题何必复杂化呢? 个人看法 是的,我就是用Cookie操作得,可是从Cookie中获得Locale和Request里面得Locale是不一样得,Request.getLocale获得是用户本机语言得Locale。所以我强求大家调用我的方法获得Locale,而不能调用Request获得Locale得,并没有复杂化 上面有人给出了一个filter,在这个filter里面取得cookie的locale,然后包装request对象,acegi对request.isUserInRole(String role) 就是这么做的 |
|
返回顶楼 | |
发表时间:2007-02-07
也就是说大家都比较同意把Request里面的对象改变,而不是通过提供方法来获取,可是没有人觉得这样改变了一个request对象,有些不太妥当吗?如果后面的人真有要用到request里面原有的Locale时,要怎么做呢?
|
|
返回顶楼 | |
发表时间:2007-02-07
sinokaka 写道 也就是说大家都比较同意把Request里面的对象改变,而不是通过提供方法来获取,可是没有人觉得这样改变了一个request对象,有些不太妥当吗?如果后面的人真有要用到request里面原有的Locale时,要怎么做呢?
public Enumeration getLocales() |
|
返回顶楼 | |
发表时间:2007-02-07
request.getheader("Accept-Language");
eg: Accept-Language: zh-cn,zh;q=0.5 quaff 写道 sinokaka 写道 也就是说大家都比较同意把Request里面的对象改变,而不是通过提供方法来获取,可是没有人觉得这样改变了一个request对象,有些不太妥当吗?如果后面的人真有要用到request里面原有的Locale时,要怎么做呢?
public Enumeration getLocales() |
|
返回顶楼 | |
发表时间:2007-02-09
感觉大家还是没有看懂我问的,可能是我写的不是很清楚,我不是问如何取得客户端的Locale,而是问那种处理方式比较妥当一些
|
|
返回顶楼 | |
发表时间:2007-02-09
1.开发人员不用知道新的方法
2.你说的需要还没出现,就算出现也有解决办法 基于上面理由选覆盖。 |
|
返回顶楼 | |
发表时间:2007-02-10
引用 ihongye 23 小时前 1.开发人员不用知道新的方法 2.你说的需要还没出现,就算出现也有解决办法 基于上面理由选覆盖。 1:开发人员知道我说的新方法,因为队伍比较小 2:需求是没有出现,但是总是担心如果人员发生变动,这个会不会成为隐讳得地方 |
|
返回顶楼 | |
发表时间:2007-02-11
sinokaka 写道 感觉大家还是没有看懂我问的,可能是我写的不是很清楚,我不是问如何取得客户端的Locale,而是问那种处理方式比较妥当一些
getLocales() 把指定的Locale设置为默认的放第一位,浏览器原有的Locale放第二 |
|
返回顶楼 | |
发表时间:2007-02-12
quaff 22 小时前
引用 sinokaka 写道 感觉大家还是没有看懂我问的,可能是我写的不是很清楚,我不是问如何取得客户端的Locale,而是问那种处理方式比较妥当一些 getLocales() 把指定的Locale设置为默认的放第一位,浏览器原有的Locale放第二 恩,你这么说,我有些同意。感觉有些合理一些。但也是要写注释说明一下了。 |
|
返回顶楼 | |
发表时间:2007-02-12
不妨再加入第3种方式
对这种情形,我觉得你们建数据模型的时候,就应该有用户的Locale对应物理表;至于实际应用中到底是取cookie,request,还是table,我觉得你们要定义一个规则; 没有绝对的事情,没有规矩不成方圆; 我觉得没有必要为个小问题斤斤计较;头想怎么做,就顺着他意思好了; 等你自己到那个位置,你来说得算; |
|
返回顶楼 | |