一尘不染

使用thyme的条件属性

jsp

我知道如何在jstl的标记内创建条件属性:

<body <c:if test="${userCreated}"> onload="somejavascriptfunction()"</c:if> >

但是,我该如何使用百里香叶呢?

索引控制器

@RequestMapping("/register")
public String register(UserEntity user, @RequestParam String repeatedPassword, RedirectAttributes redirectAttributes) {
    user.setAdmin(false);
    userFacade.create(user);
    redirectAttributes.addFlashAttribute(Constants.USER_CREATED, true);
    logger.info("Usuario criado");
    return "redirect:/login";
}

到目前为止,我发现的唯一解决方案就是这样做

<script type="text/javascript" th:if="${userCreated}">
  $(document).ready(function() {
     somejavascriptfunction()
  });
</script>

但这似乎并不是最好的方法。那么,如何对百里香的属性做出if陈述呢?


阅读 236

收藏
2020-06-08

共1个答案

一尘不染

考虑添加使用以下格式的条件类,这确实有点违反直觉:

<div th:classappend="${userSlug != null}?has-slug">

为了附加条件属性,您可以将条件放在属性的值上,如下所示:

<div th:attrappend="data-path=${userSlug != null}?@{/myaccount/__${userSlug}__}">

如果userSlug为null,则前一条语句的计算结果为:

<div>

如果userSlug 不为 null,则该语句的计算结果为:

<div data-path="/myaccount/my-slug">
2020-06-08