Тег Struts 2 if-else

Я совершенно уверен, что упускаю что-то совершенно незначительное, но я не смог понять это.

Я использую теги struts 2 в своем jsp для перебора объекта и отображения результатов. Это условно, есть проверка, чтобы увидеть, не является ли объект нулевым, прежде чем он сможет выполнить итерацию. Если часть работает отлично, она распечатывает список фильмов. Но остальное, похоже, не работает.

    <s:if test="%{listmovies != null}">
        <s:iterator value="listmovies">
            <s:property value="title" />
            <br>
        </s:iterator>
    </s:if>
    <s:else>No movies!</s:else>

person The_301    schedule 14.06.2013    source источник


Ответы (1)


Перепроверьте, что ваша listmovies не является пустой коллекцией, и инвертируйте условие, чтобы упростить его:

<s:if test="%{listmovies.isEmpty()}">No movies!</s:if>
<s:else>
    <s:iterator value="listmovies">
        <s:property value="title" />
        <br>
    </s:iterator>
</s:else>
person Maxim Kolesnikov    schedule 14.06.2013
comment
+1 Нулевой список отличается от пустого списка, и правильная семантика здесь требует пустого списка. - person leonbloy; 15.06.2013