代码之家  ›  专栏  ›  技术社区  ›  Marios

弹簧胸腺素SPEL-如果为空,则不拧紧

  •  -1
  • Marios  · 技术社区  · 6 年前

    我有下面的代码,除了检查值是否为null之外,其他一切都正常运行。我知道返回的值为null,但它仍然不起作用。我在{}内外都尝试过让==null,但都没有用。

    也许这与hibernate如何返回值有关?当我打印出从db返回的对象时,它会显示null。

    <div th:each="timecardLast: ${timecardLast}">
    <a th:href="@{/timecardin}">
            <div th:if="${timecardLast.status == null}" style="width: 100%" class="waves-effect card-panel green darken-1 z-depth-4">
                <div class="card-content center-align">
                    <i class="medium material-icons white-text">timer</i>
                    <h5 class="white-text">SIGN IN TO WORK</h5>
                </div>
            </div>
        </a>
            <a th:href="@{/timecardin}">
            <div th:if="${timecardLast.status} == 1" style="width: 100%" class="waves-effect card-panel green darken-1 z-depth-4">
                <div class="card-content center-align">
                    <i class="medium material-icons white-text">timer</i>
                    <h5 class="white-text">SIGN IN TO WORK</h5>
                </div>
            </div>
        </a>
                <a th:href="@{/timecradin}">
            <div th:if="${timecardLast.status} == 2" style="width: 100%" class="waves-effect card-panel deep-orange darken-2 z-depth-4">
                <div class="card-content center-align">
                    <i class="medium material-icons white-text">timer</i>
                    <h5 class="white-text">SIGN IN TO WORK</h5>
                </div>
            </div>
        </a>
                <a th:href="@{/timecardout}">
            <div th:if="${timecardLast.status} == 0" style="width: 100%" class="waves-effect card-panel deep-orange darken-2 z-depth-4">
                <div class="card-content center-align">
                    <i class="medium material-icons white-text">timer_off</i>
                    <h5 class="white-text">SIGN OUT OF WORK</h5>
                </div>
            </div>
        </a>
        </div>
    
    2 回复  |  直到 6 年前
        1
  •  0
  •   riddle_me_this He Drunh    6 年前

    Thymeleaf中列表的语法是命名元素和列表。同一件事你有两个名字。因此,您可能需要:

    <div th:each="timecard: ${timecardList}">
    
    ...
        <div th:if="${timecard.status == null}"...>
    ...
    

    添加名为 timecardList 到模型。

        2
  •  0
  •   Marios    6 年前

    后退一步,查看我是如何创建对象的。我没有先初始化对象,即。

    Timecard timecardLast = timecardService.getLastTimecardByIdusers(staff);
    

    因此,对象的简单初始化正确地完成了db请求之后的工作,即。

    timecardLast = new Timecard();
    timecardLast = timecardService.getLastTimecardByIdusers(staff);