我有这段代码:
<fmt:formatNumber type="number"
maxFractionDigits="2"
value="${maxAllowableAmount}" />
我在Eclipse编辑器中有这个警告:
&#34;值&#34;不支持运行时表达式
我试图忽略它并运行应用程序,但我遇到了这个运行时错误:
引用符号预期
我该怎么处理这个?
我的数据来自数据库,我想在浏览器上对其进行格式化。
答案 0 :(得分:15)
确保使用正确的@ taglib
指令。替换:
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
使用:
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
/jsp
有所不同。
答案 1 :(得分:6)
您正在使用史前JSTL 1.0版本(甚至是原型)。您需要升级到至少JSTL 1.1,或者如果您的容器支持它(Servlet 2.5或更高版本),请升级到当前最新的JSTL 1.2。
您可以在我们的JSTL wiki page中找到JSTL下载链接。不要忘记删除旧的JSTL库(jstl.jar
和standard.jar
)并修复@taglib
声明以包含/jsp
路径。还要确保您的web.xml
被声明符合至少Servlet 2.4 for JSTL 1.1或至少Servlet 2.5 for JSTL 1.2。
答案 2 :(得分:2)
您需要标签库的RT / EL版本。
http://docs.oracle.com/javaee/1.3/tutorial/doc/JSTL4.html#wp67593
答案 3 :(得分:1)
这有点奇怪。如果我正确理解taglib javadoc,type
属性可以是运行时值。
也许您使用的是不支持RT / EL的旧版JSTL?检查JSP中与'fmt'前缀关联的名称空间。