gpt4 book ai didi

java - 忽略 Thymeleaf 中 href 中的空参数

转载 作者:行者123 更新时间:2023-12-04 17:16:20 26 4
gpt4 key购买 nike

所以我有这个 href:

th:href="@{/apps/role/{pathVar}(pathVar=${var.attribute}, search=${param.search})}"

效果很好,但我想通过隐藏搜索参数(如果它是空的)使 url 看起来更干净。

例如:

  • param.search = 'test' => url = "../apps/role/varAttr?search=test"
  • param.search = '' => url = "../apps/role/varAttr"

我偶然发现了 this发布,但是我尝试过的任何事情都无法使它达到我的目的。可能是 pathvariable 与它有关,但我真的一无所知。

我试过了:

th:href="@{/apps/role/{pathVar}(pathVar=${var.attribute}, __(${param.search}=''?','search=${param.search})__)}
th:href="@{/apps/role/{pathVar}(pathVar=${var.attribute}, __(${param.search}=''?,search=${param.search})__)}

以及一些更绝望的尝试。

编辑:我使用 Thymeleaf 3.0.11 版。

解决方案:标记的解决方案对我来说并不完全有效,但这确实有效。我只是为 pathVar 遗漏了第一对 "__"

th:with="search=${param.search}"
th:href="@{/apps/role/{pathVar}(pathVar=${var.attribute}, __(${#strings.isEmpty(search)} ? '' : ('search=' + ${search}))__)}"

最佳答案

你可以这样尝试:

<a th:with="search=${param.search}"
th:href="@{/apps/role/__${pathVar}__(pathVar=${var.attribute}, __(${#strings.isEmpty(search)} ? '' : ('search=' + ${search}))__)}">
Click Url
</a>

如果search参数不存在或为空,则不会添加。我使用 *Thymeleaf 版本 3.0.12 完成了此操作。

关于java - 忽略 Thymeleaf 中 href 中的空参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68649744/

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