JSTL EL условная ошибка - PullRequest
       12

JSTL EL условная ошибка

0 голосов
/ 07 июня 2011

Я использую следующую условную проверку с использованием JSTL, но выдает ошибку "javax.servlet.jsp.el.ELException: ни одна функция не сопоставлена ​​с именем" fn: length " <c:choose><br> <c:when test='${fn:length(studentData.rollNumber) == "0"}'> Found Nothing </c:when> <c:otherwise> Found something </c:otherwise> </c:choose>

Что я здесь не так делаю?Мне просто нужно сравнить длину номера рулона.

Ответы [ 2 ]

2 голосов
/ 08 июня 2011

Согласно документации , fn:length() работает только на String (который будет возвращать значение метода String#length()) и на Collection (который будетвернуть значение Collection#size() метод).

Однако вы, похоже, набираете число .Целое число или что-то.fn:length() не работает с числами и всегда дает false, независимо от значения числа.

Если вы хотите проверить, является ли что-то null, то просто сделайте так:

<c:choose>
    <c:when test="${studentData.rollNumber == null}">Found Nothing</c:when> 
    <c:otherwise>Found something</c:otherwise>
</c:choose>

Или, если вы хотите проверить, является ли значение числа 0, просто выполните

<c:choose>
    <c:when test="${studentData.rollNumber == 0}">Found Nothing</c:when> 
    <c:otherwise>Found something</c:otherwise>
</c:choose>

Обратите внимание, что проверка empty работает одинаково хорошо, и это независимо от того, является ли оначисло, строка или коллекция.Все, что является null или имеет fn:length() из 0, оценило бы true.

<c:choose>
    <c:when test="${empty studentData.rollNumber}">Found Nothing</c:when> 
    <c:otherwise>Found something</c:otherwise>
</c:choose>
1 голос
/ 07 июня 2011

Добавить

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

И выполнить условие, подобное следующему

<c:when test="${fn:length(studentData.rollNumber) == 0}">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...