Thymeleaf,如何声明变量的默认值?

Thymeleaf, how to delcare default values for variables?

例如, sortDir 字段已传递给模型,但如果我忘记了,我想使用 asc 作为默认字段。

这不起作用,因为它仅在 sortDir==null.

时才显示 div
<div class="wrapper"
 th:if="${sortDir == null}" th:with="sortDir=${'asc'}">
// Main content
</div>

您应该删除 div 上的条件并尝试使用内联表达式确定值,如下所示:

<div class="wrapper" 
  th:with="sortDir=${sortDir != null} ? sortDir : 'asc'">
// Main content
</div>

实现此目的的另一种方法是在控制器方法 return 之前在控制器中设置正确的值。示例行可能如下所示:

@GetMapping
public String getSomething(Model model) {
    if (sortDir == null) { sortDir = "asc" };
    model.addAttribute("sortDir", sortDir);
    return "someView";
}