Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript spring i18n LocaleResolver getLocale_Javascript_Spring Mvc_Internationalization - Fatal编程技术网

Javascript spring i18n LocaleResolver getLocale

Javascript spring i18n LocaleResolver getLocale,javascript,spring-mvc,internationalization,Javascript,Spring Mvc,Internationalization,处理spring i18n。我在springmvc.xml <bean name="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> <property name="paramName" value="lang" /> </bean> <bean name="localeResolver" class="o

处理spring i18n。我在
springmvc.xml

<bean name="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
    <property name="paramName" value="lang" />
</bean>

<bean name="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
    <property name="defaultLocale" value="en" />
</bean>
如何在控制器上获取
区域设置
?或者有什么好主意可以使用i18nJava脚本

提前谢谢

@Controller
public class MyController{
    @RequestMapping(value = "/test")
    public test(HttpServletRequest request, HttpServletResponse response){
        Locale locale = RequestContextUtils.getLocale(request);
        System.out.println("Locale >>> " + locale);
    }
}

结果:

Locale >>> en

如果您想更改为其他语言环境,在Java中,您可以使用:

字符串anotherLocale=“es”;
RequestContextUtils.getLocaleResolver(请求).setLocale(请求,响应,另一个语言环境)

查看Spring Web MVC参数参考:

支持的方法参数类型

当前请求区域设置的
java.util.Locale
,由最具体的可用区域设置解析程序确定,实际上是在Servlet环境中配置的
LocaleResolver

这意味着您可以在控制器方法中简单地使用
java.util.Locale
参数,Spring MVC将为该参数分配当前解析的区域设置:

@RequestMapping(value = "/{viewName}", method = GET)
public String handle(@PathVariable String viewName, Locale locale) {
    return "info/" + locale.getLanguage() + '/' + viewName;
}

另一个版本:Locale=newlocale(“es”);RequestContextUtils.getLocaleResolver(请求).setLocale(请求,响应,区域设置);
Locale >>> en
@RequestMapping(value = "/{viewName}", method = GET)
public String handle(@PathVariable String viewName, Locale locale) {
    return "info/" + locale.getLanguage() + '/' + viewName;
}