Проверьте, является ли jstl-переменная пустой и установлена

эй, я проверю, если переменная jstl пуста по умолчанию.

создал переменную с помощью set:

Я сделал следующее, чтобы проверить, является ли переменная jstl пустой, используя метод out:

<c:when test="<c:out value='${empty prevValue}' />">
empty
</c:when>
<c:otherwise>
not empty
</c:otherwise>

но я получаю не пустой. почему это так? я действительно устанавливал prevValue для пустой строки так технически, это правильно?

2 ответа

Код помещает строковый литерал в атрибут test тега c:when, который ожидает логическое значение. Упростите тестовое выражение, чтобы проверить, что prevValue пуст, код не должен включать сегмент <c:out...< code=""> в тесте. Использование:</c:out...<>

<p> Также, если вы хотите продолжить использование условия должны быть завернуты в </p> <p> Полный пример:</p> <pre class="prettyprint linenums">&lt;c:choose&gt; &lt;c:when test="${empty prevValue}"&gt; empty &lt;/c:when&gt; &lt;c:otherwise&gt; not empty &lt;/c:otherwise&gt; &lt;/c:choose&gt;</pre>


У вас уже есть один действительный ответ,

Но почему не просто?

<c:if test="${not empty prevValue}">

//not empty 

</c:if>

licensed under cc by-sa 3.0 with attribution.