spring 页面国际化

最近项目需要做一个中英文支持的网页,之前做过,但是没有从头搭建过。开始以为很简单。直接就在网上搜了搜,找到一个Spring的。于是就直接copy代码。之中遇到一些问题。

原文章如下:我就不粘贴内容了。

http://www.xdemo.org/spring-i18n/


遇到的第一个问题就是配置以后显示的所有中文字符都是乱码。

当时就直接查看properties文件的编码方式,直接修改成utf-8了。然后还是乱码,并没有任何改善。

然后想了想,应该是spring读取属性文件的时候没有设置编码。

查看了一下源码,发现AbstractResourceBasedMessageSource 类有setDefaultEncoding方法,于是:按照下面配置。


<bean id="messageSource"
        class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basename">
            <value>messages/message</value>
        </property>
        <property name="defaultEncoding">
            <value>UTF-8</value>
        </property>
    </bean>


刷新了一下,问题解决了。


然后手动输入链接,想修改一下语言,怎么也不成功。很郁闷,没道理啊。

最后去掉了redirect跳转,使用直接跳转。

 return new ModelAndView("redirect:/");

发现语言可以转换了,但是刷新页面以后又回到中文了。打开浏览器查看cookie,确实记录了语言信息。然后就没有头绪了。

最后发现,因为我直接访问的index.jsp,并没有经过controller进行跳转,可能是没有经过spring servlet,所以spring没有读取propertes文件,最后添加了一个controller,然后跳转到index.jsp页面,问题解决了。:)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值