thymeleaf - 如何在 Thymeleaf 中使用#locale
问题描述
如何在 Map 对象中获取我的语言环境的正确值?
地图
"greeting": {
"en_US": "Hi"
, "ko_KR": "Hello"
}
我已经这样做了,但它太糟糕了。
$ {greeting.get (__${#locale} __)}
解决方案
欢迎来到 SO。
想法是您没有正确地遍历地图的值。假设您正在向模型添加一个名为的属性,以下内容可以为您提供一些指导greeting
。看来您有一个地图作为另一个对象的属性,我假设它是一个List
. 我还将假设您正在尝试使用当前的语言环境。
<th:block th:each="item : ${greeting}">
<th:block th:each="map : ${item}">
<th:block th:text="${#strings.equals(#locale, map.key) ? map.value : ''}">Value</th:block>
</th:block>
</th:block>
您可以使用此示例服务器端代码进行测试:
Map<String, String> map = new HashMap<>(2);
map.put("en_US", "Hi");
map.put("ko_KR", "Hello");
List container = new ArrayList(1);
container.add(map);
model.addAttribute("greeting", container);
请注意,如果您使用的是 Spring,您将希望使用messages.properties
每个语言环境来进行国际化。它会让你的生活更轻松,并且会更好地遵循 Spring 的约定。
推荐阅读
- mysql - Spark MySQL写入错误不正确的字符串值:第1行的列的'\xF0\x9F\x91\x8D'
- python - 避免添加到此脚本中的列表的正确 Python 方法是什么?
- python - 将txt文件按日期解析成366个txt文件
- amazon-web-services - 如何配置 EMR 以通过用户访问 ID 和密钥从 S3 存储桶读取
- php - Laravel 搜索过滤器
- google-drive-api - 如何以编程方式获取当前 Google Colab 笔记本的 Google Drive ID?
- r - 生成量的 Stan 估计误差
- algorithm - 包含在分段直线简单闭合曲线中的面积
- sql - 带和不带分号 - SQL 命令未正确结束
- linear-algebra - 具有稀疏矩阵的特征中的吉文斯旋转