Почему значение числового формата JSTL не поддерживает выражения времени выполнения? - PullRequest
4 голосов
/ 24 ноября 2011

У меня есть этот код:

<fmt:formatNumber type="number" 
                  maxFractionDigits="2" 
                  value="${maxAllowableAmount}" />

У меня есть это предупреждение в редакторе Eclipse:

"значение" не поддерживает выражения времени выполнения

Я пытался проигнорировать это и запустить приложение, но у меня есть эта ошибка во время выполнения:

ожидается символ кавычки

Как мне с этим справиться?

Мои данные поступают из базы данных, и я хочу отформатировать их в своем браузере.

Ответы [ 4 ]

15 голосов
/ 28 июня 2012

Убедитесь, что вы используете правильную директиву @ taglib.Заменить:

<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>

на:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

Значение /jsp имеет значение.

6 голосов
/ 24 ноября 2011

Вы используете доисторическую версию JSTL 1.0 (или даже прототип).Вам необходимо обновить по крайней мере до JSTL 1.1 или, если ваш контейнер поддерживает его (Servlet 2.5 или новее), обновить до последней версии JSTL 1.2.

Вы можете найти ссылки для загрузки JSTL на нашей JSTL вики-странице.Не забудьте удалить старые библиотеки JSTL (jstl.jar и standard.jar) и исправить объявления @taglib, включив в них путь /jsp.Также убедитесь, что ваш web.xml объявлен соответствующим как минимум Servlet 2.4 для JSTL 1.1 или как минимум Servlet 2.5 для JSTL 1.2.

2 голосов
/ 24 ноября 2011

Вам нужна RT / EL версия библиотеки тегов.

http://docs.oracle.com/javaee/1.3/tutorial/doc/JSTL4.html#wp67593

1 голос
/ 24 ноября 2011

Это немного странно. Если я правильно понимаю taglib javadoc , атрибут type может быть значением времени выполнения.

Возможно, вы используете более старую версию JSTL, которая не поддерживает RT / EL? Проверьте, какое пространство имен связано с префиксом 'fmt' в вашем JSP.

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