如果比较,春天百里香叶李

时间:2018-02-19 15:08:18

标签: java spring thymeleaf

在我的控制器中,我有这个说showMainTab

modelAndView.addObject("showMainTab","true");

在我的模板中,我有

<ul id="myTab-tabs-above" class="nav nav-tabs" role="tablist">                                    
    <li th:if="${showMainTab}"  class="active">
        <a href="#home-tabs" role="tab" data-toggle="tab">Main</a>
    </li>                                       

    <li><a href="#bankdetails-tabs" role="tab" data-toggle="tab">Bank Detail</a></li>
    <li><a href="#industries-tabs" role="tab" data-toggle="tab">Industries</a></li>
</ul>

为什么没有th:if="${showMainTab}"评估为真?

如果showMainTab为true,我如何标记活动?

2 个答案:

答案 0 :(得分:0)

您要添加的对象是String。只需将其更改为布尔值即可。

modelAndView.addObject("showMainTab", true);

模板保持不变。

答案 1 :(得分:0)

您可以使用bools实用程序来评估布尔值。看看发生了什么事情会非常有帮助。而不是:

th:if="${showMainTab}"

尝试

th:if="${!#bools.isFalse(showMainTab)}" //寻找不是假的

th:if="${#bools.isTrue(showMainTab)}" //明确寻找真实的

这与Java中的Boolean.TRUE.equals(object)类似且有用。你也可以这样避免空指针。它更具防御性,所以在您解决问题之后,如果您愿意,仍然可以使用较短的${showMainTab}

在你的控制器中,你应该这样做:

modelAndView.addObject("showMainTab", true);