Я хочу проверить, когда он нулев" />

Оценить пустые или нулевые теги JSTL c

jsp jstl el

682147 просмотра

8 ответа

Как я могу проверить, является ли значение Stringnull или пустым, используя cтеги JSTL?

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

<c:out value="${var1}" />

Я хочу проверить, когда он нулевой или пустой (мои значения являются строками).

Автор: user338381 Источник Размещён: 12.11.2019 09:14

Ответы (8)


738 плюса

Решение

Как я могу проверить, является ли строка пустой или пустой, используя теги c JSTL?

Вы можете использовать emptyключевое слово в <c:if>для этого:

<c:if test="${empty var1}">
    var1 is empty or null.
</c:if>
<c:if test="${not empty var1}">
    var1 is NOT empty or null.
</c:if>

Или <c:choose>:

<c:choose>
    <c:when test="${empty var1}">
        var1 is empty or null.
    </c:when>
    <c:otherwise>
        var1 is NOT empty or null.
    </c:otherwise>
</c:choose>

Или, если вам не нужно условно визуализировать группу тегов и, таким образом, вы можете проверить это только внутри атрибута тега, тогда вы можете использовать условный оператор EL ${condition? valueIfTrue : valueIfFalse}:

<c:out value="${empty var1 ? 'var1 is empty or null' : 'var1 is NOT empty or null'}" />

Чтобы узнать больше об этих ${}вещах (язык выражений , который является отдельной темой от JSTL ), проверьте здесь .

Смотрите также:

Автор: BalusC Размещён: 11.05.2010 02:47

24 плюса

чтобы также проверить пустую строку, я предлагаю следующее

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<c:if test="${empty fn:trim(var1)}">

</c:if>

Он также обрабатывает нули

Автор: andro83 Размещён: 20.05.2013 09:54

7 плюса

если вы отметите только null или empty, тогда вы можете использовать опцию with default для этого: <c:out default="var1 is empty or null." value="${var1}"/>

Автор: Ankit Agarwal Размещён: 11.09.2015 10:38

6 плюса

Этот код верен, но если вы ввели много пробелов ('') вместо нулевой или пустой строки, верните false.

Чтобы исправить это, используйте регулярное выражение (этот код ниже проверяет, является ли переменная нулевой, пустой или пустой, как org.apache.commons.lang.StringUtils.isNotBlank):

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
        <c:if test="${not empty description}">
            <c:set var="description" value="${fn:replace(description, ' ', '')}" />
            <c:if test="${not empty description}">
                  The description is not blank.
            </c:if>
        </c:if>
Автор: Rija Ramampiandra Размещён: 13.12.2012 07:25

6 плюса

Вот один лайнер.

Тернарный оператор внутри ЭЛ

${empty value?'value is empty or null':'value is NOT empty or null'}
Автор: Sorter Размещён: 06.02.2015 07:36

3 плюса

Вы можете использовать

    ${var == null}

в качестве альтернативы.

Автор: Supun Dharmarathne Размещён: 30.11.2016 09:28

0 плюса

Вот пример того, как проверить int и String, которые вы передаете из контроллера Java в файл JSP.

MainController.java:

@RequestMapping(value="/ImportJavaToJSP")
public ModelAndView getImportJavaToJSP() {
    ModelAndView model2= new ModelAndView("importJavaToJSPExamples");

    int someNumberValue=6;
    String someStringValue="abcdefg";
    //model2.addObject("someNumber", someNumberValue);
    model2.addObject("someString", someStringValue);

    return model2;
}

importJavaToJSPExamples.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<p>${someNumber}</p>
<c:if test="${not empty someNumber}">
    <p>someNumber is Not Empty</p>
</c:if>
<c:if test="${empty someNumber}">
    <p>someNumber is Empty</p>
</c:if>
<p>${someString}</p>
<c:if test="${not empty someString}">
    <p>someString is Not Empty</p>
</c:if>
<c:if test="${empty someString}">
    <p>someString is Empty</p>
</c:if>
Автор: Gene Размещён: 12.04.2017 01:19

-1 плюса

In this step I have Set the variable first:

<c:set var="structureId" value="<%=article.getStructureId()%>" scope="request"></c:set>

In this step I have checked the variable empty or not:

 <c:if test="${not empty structureId }">
    <a href="javascript:void(0);">Change Design</a>
 </c:if>
Автор: ASR Размещён: 28.07.2015 07:12
Вопросы из категории :
32x32