如何在Map对象中获得正确的语言环境值?
地图
ngAfterViewInit() {
let fileIcon = this.elemRef.nativeElement.querySelector(".file-icon"),
b1 = fileIcon.getBoundingClientRect(),
fileList = fileIcon.closest(".file-list"),
b2 = fileList.getBoundingClientRect();
this.hidden = b2.bottom < b1.bottom;
}
我已经做到了,但这太糟糕了。
"greeting": {
"en_US": "Hi"
, "ko_KR": "Hello"
}
答案 0 :(得分:0)
欢迎来到。
以为您没有正确遍历地图的值。假设您要在模型中添加一个名为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的惯例。