当前位置: 首页 > wzjs >正文

wordpress网站如何添加栏目网拍外宣怎么推广

wordpress网站如何添加栏目,网拍外宣怎么推广,网上购物商城首页,罗湖商城网站建设哪家效益快Spring Boot 国际化配置项详解 1. 核心配置项分类 将配置项分为以下类别,便于快速定位: 1.1 消息源配置(MessageSource 相关) 控制属性文件的加载、编码、缓存等行为。 配置项作用默认值示例说明spring.messages.basename指定属…

Spring Boot 国际化配置项详解


1. 核心配置项分类

将配置项分为以下类别,便于快速定位:


1.1 消息源配置(MessageSource 相关)

控制属性文件的加载、编码、缓存等行为。

配置项作用默认值示例说明
spring.messages.basename指定属性文件的路径前缀(不包含语言后缀)messagesclasspath:i18n/messages支持多路径用逗号分隔,如 messages,custom
spring.messages.encoding属性文件的编码格式UTF-8GBK避免中文乱码需显式指定
spring.messages.cache-duration属性文件缓存时间(仅 ReloadableResourceBundleMessageSource 有效)7200s(2小时)60sPT1M(ISO 8601格式)设置为 0 禁用缓存,实现热加载

1.2 区域解析配置(LocaleResolver 相关)

控制如何确定用户的区域(Locale)。

配置项作用默认值示例说明
spring.mvc.locale默认区域(当无法自动检测时使用)由系统 Locale 决定es(西班牙语)直接指定语言代码(如 zh-CN
spring.mvc.fallback-locale备用区域(当主区域无效时使用)enzh支持多个值,用逗号分隔
spring.http.accept-language.header自定义语言检测的请求头名称Accept-LanguageX-Language例如从自定义头读取语言

1.3 Cookie 持久化配置(仅 CookieLocaleResolver
配置项作用默认值示例说明
spring.mvc.locale-resolver.cookie-nameCookie 名称LOCALElang自定义 Cookie 名称
spring.mvc.locale-resolver.cookie-max-ageCookie 有效期(秒)1440(24分钟)3600(1小时)设置为 -1 表示会话级,0 删除 Cookie

1.4 Session 持久化配置(仅 SessionLocaleResolver

无独立配置项,依赖 Session 的默认行为。


1.5 其他高级配置
配置项作用默认值示例说明
spring.messages.always-use-message-format是否强制使用 MessageFormat 解析消息(支持 {0} 占位符)truefalse关闭后仅支持简单键值对,性能更高
spring.messages.use-code-as-default-message当消息未找到时,是否返回原始键(如 error.loginfalsetrue开启后避免因消息缺失导致空值

2. 完整配置示例(application.properties/yml)
2.1 properties 格式
# 消息源配置
spring.messages.basename=classpath:i18n/messages,classpath:i18n/overrides
spring.messages.encoding=UTF-8
spring.messages.cache-duration=3600s # 1小时热加载# 区域配置
spring.mvc.locale=zh-CN
spring.mvc.fallback-locale=en
spring.http.accept-language.header=X-Language# Cookie 持久化配置
spring.mvc.locale-resolver.cookie-name=MY_LOCALE
spring.mvc.locale-resolver.cookie-max-age=86400 # 1天
2.2 YAML 格式
spring:messages:basename: "classpath:i18n/messages,classpath:i18n/overrides"encoding: UTF-8cache-duration: 3600smvc:locale: "zh-CN"fallback-locale: enlocale-resolver:cookie-name: MY_LOCALEcookie-max-age: 86400http:accept-language:header: X-Language

3. 代码配置示例(Java 配置覆盖)
3.1 自定义 ReloadableResourceBundleMessageSource
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;@Configuration
public class I18nConfig {@Beanpublic ReloadableResourceBundleMessageSource messageSource() {ReloadableResourceBundleMessageSource source = new ReloadableResourceBundleMessageSource();source.setBasenames("i18n/messages", "i18n/overrides"); // 支持多个前缀source.setDefaultEncoding("UTF-8");source.setCacheSeconds(60); // 覆盖配置项,60秒热加载return source;}
}
3.2 自定义 LocaleResolver(Cookie 持久化)
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.i18n.CookieLocaleResolver;@Configuration
public class LocaleConfig {@Beanpublic CookieLocaleResolver localeResolver() {CookieLocaleResolver resolver = new CookieLocaleResolver();resolver.setCookieName("CUSTOM_LOCALE"); // 覆盖配置项resolver.setCookieMaxAge(86400);         // 1天有效期resolver.setDefaultLocale(Locale.JAPAN); // 默认日语return resolver;}
}

4. 配置项总结表格
配置类型配置项作用默认值适用场景
消息源spring.messages.basename属性文件路径messages自定义多语言文件路径
消息源spring.messages.encoding文件编码UTF-8解决乱码问题
消息源spring.messages.cache-duration热加载间隔7200s开发环境快速调试
区域spring.mvc.locale默认语言系统默认设置全局默认语言
区域spring.http.accept-language.header自定义语言头Accept-Language适配非标准请求头
Cookiespring.mvc.locale-resolver.cookie-nameCookie 名称LOCALE避免与其他应用冲突
Session无独立配置项依赖 Session——会话内语言切换

5. 常见问题解答

Q1:如何确保属性文件被正确加载?
  • 检查路径:确保文件位于 src/main/resources/i18n/ 目录(或配置的路径)。
  • 文件命名:格式为 <basename>_{language}.properties(如 messages_zh_CN.properties)。
  • 日志调试:添加 logging.level.org.springframework.context.support=DEBUG 查看加载日志。

Q2:如何强制使用固定语言?
# application.properties
spring.mvc.locale=es # 强制西班牙语
spring.mvc.fallback-locale=es # 备用语言也设为西班牙语

Q3:如何同时支持 URL 参数切换语言?

结合 LocaleChangeInterceptor

import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;@Configuration
public class WebConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LocaleChangeInterceptor()).addPathPatterns("/**"); // 通过 ?lang=es 参数切换}
}

Q4:属性文件中的 {0} 占位符无效?
  • 确保 spring.messages.always-use-message-format=true(默认值)。
  • 示例消息:
    greeting=Hello, {0}!
    

Q5:如何避免 Cookie 跨域问题?

CookieLocaleResolver 中设置域:

resolver.setCookieDomain(".example.com"); // 设置域为整个域名

6. 最佳实践
  • 多环境配置:通过 application-{profile}.properties 区分开发和生产环境的 cache-duration
  • 性能优化:生产环境禁用热加载(设为 0 可能影响性能)。
  • 国际化测试:使用 Postman 或浏览器插件修改 Accept-Language 头测试不同语言。

总结

通过上述配置,可灵活控制 Spring Boot 国际化行为。核心是理解 MessageSourceLocaleResolver 的协作关系,结合业务需求选择合适的持久化策略(Cookie/Session)和文件加载方式。

http://www.dtcms.com/wzjs/192047.html

相关文章:

  • 做传销网站微商已经被国家定为传销了
  • 网站的设计方法有哪些互联网推广软件
  • 郴州网站制作浏览器网页版入口
  • 一家做土产网站网络推广方案范例
  • 怎么在百度提交网站四川旅游seo整站优化站优化
  • 开发手机端网站模板推广软件有哪些
  • 最专业的外贸网站建设权威发布
  • 建筑工程证书查询铁力seo
  • 预付做网站定金如何seo搜索引擎的优化
  • mvc 网站模板长沙seo推广
  • 闽侯县网站建设营销宣传方式有哪些
  • 域名申请到网站建设教程百度seo优化策略
  • 个人网站设计主题建站快车
  • 做saas平台网站徐州seo培训
  • 排名好的网站开发东莞优化排名推广
  • 做外贸在什么网站好培训学校机构有哪些
  • 免费vip电影网站怎么做云浮网站设计
  • 建设银行信用卡网站显示余额seo关键词排名软件流量词
  • jsp网站项目软文有哪些发布平台
  • 有哪些好的做兼职网站网络营销与市场营销的区别
  • 驻马店做网站多少钱石家庄seo顾问
  • 如何做正版小说网站网络推广公司方案
  • 食品网站建设策划方案百度快速收录接口
  • 菏泽做网站建设找哪家成都网站建设seo
  • 昆明做网站优化哪家好黑帽seo技术培训
  • 青岛网站建设迅优互联网营销软件
  • 网站推广的方式有哪些浏览器网页版入口
  • 手机可以做3d动漫视频网站国际新闻网
  • 宁波教育平台网站建设中国楼市最新消息
  • 制作灯笼作文宁波优化网页基本流程