【问题标题】:c:foreach with EL end value NumberFormatExceptionc:foreach 与 EL 结束值 NumberFormatException
【发布时间】:2012-07-24 18:20:20
【问题描述】:

我想使用 jstl foreach 循环来显示由我的托管 bean 的属性定义的一定数量的元素:

 <c:forEach begin="0" end="#{MyBean.IntegerProperty}" step="1" var="o" >
   <h:commandButton value="#{MyBean.IntegerProperty}"></h:commandButton>
 </c:forEach>

我的 taglib 声明是:

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

但是我得到了这个异常:

...
Caused by: java.lang.NumberFormatException: For input string: "#{MyBean.IntegerProperty}"
...

我在某处读到 foreach 和 EL 彼此之间的合作不太好,如果是这样,那么有人知道将 int 值放在 c:foreach 的 end 属性中的解决方法吗?

提前谢谢你!

【问题讨论】:

  • 您使用的是哪个 jstl/el 版本?在早期版本中,延迟表达式(带有#{} 的表达式)是不允许的,这似乎是你的情况。
  • #{MyBean.IntegerProperty} 语法不可能代表有效属性,因为它违反了 Javabeans 和 EL 规范。

标签: jsf foreach jstl expression el


【解决方案1】:

我不希望上面的内容能够正常工作,因为 JSTL 标记不构成组件树的一部分。

欲了解更多信息,请参阅here

【讨论】:

  • 我不确定这将如何回答 OP 的具体问题。
  • 道歉是为了评论
猜你喜欢
  • 2016-07-13
  • 2017-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-19
  • 2017-03-11
  • 1970-01-01
相关资源
最近更新 更多