1

有谁知道“bookingService.findBookings(currentUser?.name)”部分的问号是什么意思?

<view-state id="enterSearchCriteria">
    <on-render>
        <evaluate expression="bookingService.findBookings(currentUser?.name)" result="viewScope.bookings" result-type="dataModel" />
    </on-render>
    <transition on="search" to="reviewHotels"/>
    <transition on="cancelBooking">
        <evaluate expression="bookingService.cancelBooking(bookings.selectedRow)" />
    </transition>
</view-state>

这是服务类中的方法:

@Transactional(readOnly = true)
    @SuppressWarnings("unchecked")
    public List<Booking> findBookings(String username) {
        if (username != null) {
            return em.createQuery("select b from Booking b where b.user.username = :username order by b.checkinDate").setParameter("username", username).getResultList();
        } else {
            return null;
        }
    }

当前用户是我假设当前登录到应用程序的人,但代码段来自用户尚未登录的页面。

4

1 回答 1

3

那看起来是“安全导航操作员”。如果 currentUser 为 null,则对 currentUser?.name 的访问尝试不会导致错误(空指针)。

于 2013-03-19T17:32:02.960 回答