Добро пожаловать в 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
для каждой локали для интернационализации.Это сделает вашу жизнь намного проще и будет лучше следовать конвенциям весны.