首页 > 解决方案 > 内化函数

问题描述

我有页面 jsp :

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="f" %>
<%@ page session="true"  %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ page session="true"  %>
<%@ page trimDirectiveWhitespaces="true"  %>
<% 
    String locale = "fr_FR"; 
%> 

<fmt:setLocale value="${locale }"/>
<fmt:bundle basename="com.stock.led.i18n.applicationresources"></fmt:bundle>

我在包“com.stock.led.i18n.applicationresources”applicationresources_en_US 和 applicationresources_fr_FR 上有两个属性文件。始终使用 applicationresources_en_US 文件,并且 _fr_FR 由 fmt SetLocale 设置,我不明白为什么?

标签: springinternationalizationtaglib

解决方案


经过研究,我发现负责的是标头 HTTP “Accept-Language” 通过测试 3 个浏览器,安装在法语中的浏览器可以完美运行,而其他浏览器在英语上没有。

为什么 <fmt:setLocale value="${locale }"/>不强制使用语言并忽略标头 HTTP“Accept-Language”。


推荐阅读