Locale存放的争执

         今天和经理争执了半天,主要就是关于locale的存放问题。项目使用的是Spring框架,要求多语言。页面好说,用Spring的标签库就可以了,还有一些其它的,主要是我们自己生成的Html代码等,这个时候,就需要自己翻译了。

          翻译呢,就需要Locale信息,取Locale信息就有多种方法了,我使用了Spring的Cookie,这样取Locale的时候,就不用使用Request.getLocale()方法了,因为getLocale取得是用户的本机Locale而不是用户请求的Locale,页面上有个链接选择中文版还是英文版的。这样我就需要把locale往后面传播。我在共同得Controller里面提供了一个方法用来获得Locale。

          在测试得时候,发现一个问题,就是有人没有通过我提供得方法获得Locale,直接调用得Request.getLocale方法,这样导致了翻译不正常。解决得方法,我和经理发生了分歧,我觉得所有得人必须从我提供的方法获得Locale,经理让我把Request得Locale给替换掉。这样就不会出现问题。我不同意,我宁愿新作一个自定义的Locale类,这样大家调用翻译得时候就不会传入Request.getLocale了。总觉得经理让我替换掉Request里面locale的做法,是一种隐讳的处理方式,虽然解决了问题,但是容易使后来的人产生迷惑。如果后面的人需要用到客户机Locale的时候,调用Request.getLocale的时候,就会遇到问题。

         经理觉得改变Request里面的Locale可以保证程序正确执行,而且这样做起来也比较好。

         个人觉得这样总是改变了Request.getLocale得API得含义,这样自己有些接收不了。经理就让我写这篇blog看看大家得意见,我也想听听大家得意见,因为经理说服不了我。看看自己到底是固执,还是认识有些狭隘。希望大家不要惜言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值