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

В ванильном JavaScript это даст вам AVAILABLE width / height:

window.screen.availHeight
window.screen.availWidth

. Для абсолютной ширины / высоты используйте:

window.screen.height
window.screen.width

Оба вышеуказанного могут быть записаны без префикса окна.

Как jQuery? Это работает во всех браузерах, но каждый браузер дает разные значения.

$(window).width()
$(window).height()
373
задан Tom11 5 May 2016 в 10:29
поделиться

8 ответов

Как я могу проверить, является ли строка пустой или пустой с использованием тегов 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 ), отметьте здесь .

См. Также:

722
ответ дан Community 5 May 2016 в 10:29
поделиться

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

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

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

23
ответ дан andro83 5 May 2016 в 10:29
поделиться

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

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

${empty value?'value is empty or null':'value is NOT empty or null'}
6
ответ дан Sorter 5 May 2016 в 10:29
поделиться

Этот код верен, но если вы ввели много пробелов ('') вместо пустой или пустой строки, верните 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>
5
ответ дан Rija Ramampiandra 5 May 2016 в 10:29
поделиться

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

    ${var == null}

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

3
ответ дан Supun Dharmarathne 5 May 2016 в 10:29
поделиться
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>
-1
ответ дан ASR 5 May 2016 в 10:29
поделиться

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

6
ответ дан Ankit Agarwal 5 May 2016 в 10:29
поделиться

Вот пример того, как проверить 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>
-1
ответ дан Gene 5 May 2016 в 10:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: