2013-11-28 8 views
7

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

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

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

UPDATE

<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> 

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

+0

использование тега скрипта, чтобы сделать логику –

+0

Что вы видите, как выход для первого '' ? Кроме того, вы не закрыли '' тег для ''. Лучше всего перемещать закрывающий тег вне тега ''. –

+0

скачать, у меня есть таблица..так, на все загрузки приходит, и в ячейке, у которой есть файл, есть имя файла вместе с загрузкой –

ответ

6

Прежде всего, 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} условие будет be true только для non-null имя файла. И пустое имя файла не равно нулю. Если вы хотите, чтобы проверить как null и пустое имя файла, то вы должны использовать empty условие:

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

ОК, я исправил его. –

+0

что еще? –

+0

@Vidic Для 'if-else' вы должны использовать' ',' ',' 'теги. –

1

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

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

'empty' проверяет как« null », так и пустые имя_файла, только если ОР нуждается в этом. –

+0

Я пробовал это, но не работает '
Имя файла равно null или пусто ! Download ' –

1

Без <c:if/> вы можете проверить file_namenull используя default.

<td><c:out value="${row.file_name}" default="NULL FILE"/></td> 
Смежные вопросы