Использование условия 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>