No message found under code 'first' for locale 'zh_CN'.

错误

原因

国际化的配置为:

    <!--国际化操作拦截器,如果采用基于Session/Cookie则必须配置-->
    <mvc:interceptors>
        <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
    </mvc:interceptors>
    <!--存储区域设置信息-->
    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
        <property name="defaultLocale" value="zh_CN"/>
    </bean>
    <!--加载国际化资源文件-->
    <!--如果修改了国际资源化文件需要重启JVM-->
    <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <!--classpath:messages指的是classpath路径下的messages_zh_CN.properties文件和messages_en_US.properties文件-->
        <!--<property name="basename" value="classpath:message"/>-->
        <!--将国际化资源文件放在其他的路径下-->
        <property name="basename" value="/WEB-INF/resource/messages"/>
    </bean>

我在resource下创建了一个messages文件夹,然后把properties文件放在messages下。

但并不是这样的。

解决

删除messages文件夹,将properties文件放到resource下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是对给定代码的优化建议: ```java if (mode == 9) { if (modeId == PIEB_LOCK_TIME.getCode()) { return MultiLanguageUtil.message(TRUE_PIEB_LOCK_TIME.getLanguageKey(), locale); } else if (modeId == PIEB_RATE.getCode()) { return MultiLanguageUtil.message(TRUE_PIEB_RATE.getLanguageKey(), locale); } else if (modeId == PIEB_ONE_VTBI.getCode()) { return MultiLanguageUtil.message(TRUE_PIEB_ONE_VTBI.getLanguageKey(), locale); } else if (modeId == PIEB_LOAD_VTBI.getCode()){ return MultiLanguageUtil.message(TRUE_PIEB_LOAD_VTBI.getLanguageKey(), locale); } else if (modeId == PIEB_ONE_HOUR_MAX_VOLUME.getCode()){ return MultiLanguageUtil.message(TRUE_PIEB_ONE_HOUR_MAX_VOLUME.getLanguageKey(), locale); } else if (modeId == PIEB_FOUR_HOUR_MAX_VOLUME.getCode()){ return MultiLanguageUtil.message(TRUE_PIEB_FOUR_HOUR_MAX_VOLUME.getLanguageKey(), locale); } else { return MultiLanguageUtil.message(TRUE_CONTINUE_RATE.getLanguageKey(), locale); } } ``` 可以使用`switch`语句来替代多个`if-else`语句,使代码更简洁和易读。优化后的代码如下: ```java if (mode == 9) { switch (modeId) { case PIEB_LOCK_TIME.getCode(): return MultiLanguageUtil.message(TRUE_PIEB_LOCK_TIME.getLanguageKey(), locale); case PIEB_RATE.getCode(): return MultiLanguageUtil.message(TRUE_PIEB_RATE.getLanguageKey(), locale); case PIEB_ONE_VTBI.getCode(): return MultiLanguageUtil.message(TRUE_PIEB_ONE_VTBI.getLanguageKey(), locale); case PIEB_LOAD_VTBI.getCode(): return MultiLanguageUtil.message(TRUE_PIEB_LOAD_VTBI.getLanguageKey(), locale); case PIEB_ONE_HOUR_MAX_VOLUME.getCode(): return MultiLanguageUtil.message(TRUE_PIEB_ONE_HOUR_MAX_VOLUME.getLanguageKey(), locale); case PIEB_FOUR_HOUR_MAX_VOLUME.getCode(): return MultiLanguageUtil.message(TRUE_PIEB_FOUR_HOUR_MAX_VOLUME.getLanguageKey(), locale); } } return MultiLanguageUtil.message(TRUE_CONTINUE_RATE.getLanguageKey(), locale); ``` 通过使用`switch`语句,可以更清晰地表达逻辑,并减少代码的重复性。同时,提供了默认情况下的返回值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值