Spring WebFlow神秘的问号

时间:2013-03-19 17:28:26

标签: spring-webflow

有没有人知道问号在“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;
        }
    }

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

1 个答案:

答案 0 :(得分:3)

这看起来像是“安全导航运营商”。如果currentUser为null,那么对currentUser?.name的访问尝试不会导致错误(空指针)。