codecamp

Micronaut 地域解析

Micronaut 支持多种策略来解析给定请求的语言环境。 getLocale-- 方法可用于请求,但它仅支持解析 Accept-Language 标头。对于区域设置可以在 cookie、用户会话中或应设置为固定值的其他用例,HttpLocaleResolver 可用于确定当前区域设置。

不需要直接使用 LocaleResolver API。只需为 java.util.Locale 类型的控制器方法定义一个参数,区域设置就会自动解析和注入。

有几个配置选项可以控制如何解析语言环境:

表 1. HttpLocaleResolutionConfigurationProperties 的配置属性
属性 类型 描述

micronaut.server.locale-resolution

HttpServerConfiguration$HttpLocaleResolutionConfigurationProperties

语言环境解析配置

micronaut.server.locale-resolution.fixed

java.util.Locale

设置语言环境的语言标签。支持 BCP 47 语言标签(例如“en-US”)和 ISO 标准(例如“en_US”)。

micronaut.server.locale-resolution.session-attribute

java.lang.String

在会话中设置键以查找语言环境。

micronaut.server.locale-resolution.cookie-name

java.lang.String

设置用于存储区域设置的 cookie 的名称。

micronaut.server.locale-resolution.header

boolean

如果应从 Accept-Language 标头解析区域设置,则设置为 true。默认值(真)。

micronaut.server.locale-resolution.default-locale

java.util.Locale

如果无法通过任何方式解析区域设置,则设置将使用的区域设置。默认为系统默认值。

语言环境可以配置为“en_GB”格式或 BCP 47(语言标签)格式。如果配置了多个方法,则固定语言环境优先,其次是会话/cookie,然后是标头。

如果任何内置方法不符合您的用例,请创建一个 HttpLocaleResolver 类型的 bean 并设置其相对于现有解析器的顺序(通过 getOrder 方法)。


Micronaut 主机解析
Micronaut 客户端IP地址
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Micronaut 独立命令行应用程序

Micronaut 安全

Micronaut 多租户

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }