Почему JSTL возвращает ложные срабатывания при нулевой проверке данных блобов изображений? - PullRequest
0 голосов
/ 06 сентября 2010

Обе из следующих проверок JSTL возвращают положительный результат - в результате отображается внутреннее сообщение («изображение не пусто» / «изображение не пусто») - даже если с текущей записью не связано изображение.

<c:if test="${rec.imgdata != null}">image not null</c:if>

<c:if test="${not empty rec.imgdata}">image not empty</c:if>

Изображение сохраняется как BLOB-объект для каждой записи.Как правильно проверить, является ли BLOB-объект (rec.imgdata) не пустым?

1 Ответ

3 голосов
/ 06 сентября 2010

Я бы не использовал Blob в JSTL. Я бы заранее проверил, является ли BLOB-объект пустым, вызвав length(), а затем установил бы значение в качестве атрибута запроса. I.e.:

request.setAttribute("showImage", rec.getImgData().length() > 0);

если у вас более одного rec, создайте новое свойство imageAvailable и вызовите rec.setImageAvailable(rec.getImgData().length() > 0)

Имейте в виду, что вы не можете передать страницу и изображение в один ответ. Вы только устанавливаете путь к изображению. Это будет новый сервлет, который, в свою очередь, загрузит Blob и передаст его клиенту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...