fmt:formatNumber 不能格式化变量

BeefCattle 2008-07-11 02:17:31
页面中代码如下
-------------------------------------------------------------------
<c:set var="countSale" value="0.0"/>
<c:forEach var="row" items="${list}">
<c:set var="countSale" value="${countSale+row.MONEY_SALE}"/>
</c:forEach>
<c:out value="${countSale}"/>,
<fmt:formatNumber value="${countSale}" type="number" pattern="#,###,###,#00.00" />

-------------------------------------------------------------------
如果最后一行的<fmt:formatNumber />注释了,则可以正常显示输出结果
如果不注释最后一行,则出错并提示
java.lang.NumberFormatException: For input string: "${countSale}"
标签<fmt:formatNumber /> 的 value 属性 在这里不能用变量,只能用数值字面量,如12345,不知为何。
...全文
328 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
owl520 2009-01-21
  • 打赏
  • 举报
回复
${countSale} 换成 countSale 就好用啦
BeefCattle 2008-07-16
  • 打赏
  • 举报
回复
楼上的,错误提示一样。
toraji 2008-07-11
  • 打赏
  • 举报
回复
type="currency"
试一试
EL表达式 (详解) EL表达式 1、EL简介 1)语法结构 ${expression} 2)[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。 例如: ${user.My-Name}应当改为${user["My-Name"] } 如果要动态取值时,就可以用[]来做,而.无法做到动态取值。例如: ${sessionScope.user[data]}中data 是一个变量 3)变量 EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为 username的变量。 因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、 Application范围查找。 假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时, 就回传null。 属性范围在EL中的名称 Page PageScope Request RequestScope Session SessionScope Application ApplicationScope 4) 1--EL表达式用${}表示,可用在所有的HTML和JSP标签中作用是代替JSP页面中复杂的JAVA代码. 2--EL表达式可操作常量 变量 和隐式对象. 最常用的 隐式对象有${param}和${paramValues}. ${param}表示返回请求参数中单个字符串的值. ${paramValues}表示返回请求参数的一组 值.pageScope表示页面范围的变量.requestScope表示请求对象的变量. sessionScope表示会话 范围内的变量.applicationScope表示应用范围的变量. 3 -- 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁 止.JSP2.0中默认的启用EL语言. 4-- EL语言可显示 逻辑表达式如${true and false}结果是false 关系表达式如${5>6} 结 果是false 算术表达式如 ${5+5} 结果是10 5--EL中的变量

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧