gpt4 book ai didi

spring-boot - Thymeleaf:语言选择器的 Switch 语句

转载 作者:行者123 更新时间:2023-12-03 20:32:41 25 4
gpt4 key购买 nike

我正在为 Spring Boot 项目使用 Thymeleaf 实现语言选择器,但我无法在 case 语句中使用变量 ${#ctx.locale}。它始终采用默认值(“*”)。

<li class="nav-item dropdown">
<a class="nav dropdown-toggle"
id="languages" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">

<i class="material-icons">language</i>

<div th:switch="${#ctx.locale}">
<p th:case="en">English</p>
<p th:case="es">Español</p>
<p th:case="ca">Català</p>
<p th:case="*">English</p>
</div>
</a>
<div class="dropdown-menu" aria-labelledby="languages">
<a class="dropdown-item" th:href="@{?lang=en}">English</a>
<a class="dropdown-item" th:href="@{?lang=es}">Español</a>
<a class="dropdown-item" th:href="@{?lang=ca}">Català</a>
</div>

事实上,我只需要语言名称。谢谢你。

最佳答案

解释在这里:thymeleaf-compare-locale-expression-object-with-string

在您的代码更改 th:switch="${#ctx.locale}" to th:switch="__${#locale.language}__"

<div th:switch="__${#locale.language}__">
<p th:case="en">English</p>
<p th:case="es">Español</p>
<p th:case="ca">Català</p>
<p th:case="*">English</p>
</div>

关于spring-boot - Thymeleaf:语言选择器的 Switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42629447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com