Использование условия IF в JSP

у меня есть эта строка

<td><c:out value="${row.file_name}"/></td>

file_name-имя столбца из таблицы базы данных mysql. Я хочу проверить, если имя файла имеет какое-то значение,поэтому я хочу использовать IF condition, но как мне пройти row.file_name? что-то вроде if(row.file_name!=null){}

обновление

<td><c:out value="${row.file_name}"/><br>
<c:choose>
    <c:when test="${row.file_name == null}">
         Null
    </c:when>
    <c:otherwise>
       <a href="downloadFileServlet?id=${row.id}">Download</a></td>
    </c:otherwise>
</c:choose>

в этом случае выполняется только 2-е условие, даже если имя файла пустое

3 ответов


прежде всего,if это не цикл, это просто утверждение. Вы можете использовать <c:if> тег для тестирования значение:

<c:if test="${row.file_name != null}">
    Not Null   
</c:if>

и для Java if-else оператор, эквивалент тега JSTL -<c:choose>(нет, нет <c:else>):

<c:choose>
    <c:when test="${row.file_name != null}">
        Not Null
    </c:when>
    <c:otherwise>
        Null
    </c:otherwise>
</c:choose>

отметим, что ${row.file_name != null} условие true только non-null имя файла. И пустое имя файла не равно null. Если вы хотите проверить оба null и пустое имя файла, то вы должны использовать empty состояние:

<!-- If row.file_name is neither empty nor null -->
<c:when test="${!empty row.file_name}">
    Not empty
</c:when>

вы должны использовать оператор if из библиотеки ядра JSTL, так же, как вы используете c:out

<c:if test="${empty row.file_name}">File name is null or empty!</c:if>

без <c:if/> вы можете проверить file_name и null С помощью default.

 <td><c:out value="${row.file_name}" default="NULL FILE"/></td>