我一直在尝试在JSF 2.0的输入文本框中显示列表中的一些值。该值未显示。下面是我试图运行的代码
<h:inputText id="targetDaysValueID" value="#{demandBean.filterSelectionVOList.targetDays}" required="false" style="height:22px;width:155px;float: right"></h:inputText>
以下是我尝试在xhtml页面中运行包含上述代码的页面时收到的错误消息。
ava.lang.NumberFormatException: For input string: "targetDays"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at javax.el.ListELResolver.coerce(ListELResolver.java:166)
at javax.el.ListELResolver.getValue(ListELResolver.java:51)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at org.apache.el.parser.AstValue.getValue(AstValue.java:118)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
at javax.faces.component.UIOutput.getValue(UIOutput.java:169)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
代码在数据表中工作正常,我将列表分配给数据表&amp;为我创建一个变量,当我使用我想要显示的字段名的变量时,同样的工作正常。但是当我尝试显示值=“#{demandBean.filterSelectionVOList.targetDays}”
时,它不起作用请协助。提前致谢。
答案 0 :(得分:2)
问题是#{demandBean.filterSelectionVOList}
解析为列表。 h:inputtext
值不能是集合。
如果filterSelectionVOList
不为空,请尝试例如:
#{demandBean.filterSelectionVOList.get(0).targetDays}
编辑:
要显示集合中的所有数据,您可以通过ui:repeat
包装输出组件:
<ui:repeat var="element" value="#{demandBean.filterSelectionVOList}">
<h:inputText value="#{element.targetDays}" />
</ui:repeat>
还添加了一个合适的命名空间定义:
xmlns:ui="http://java.sun.com/jsf/facelets"
如果这更适合您,您还可以使用h:dataTable
显示元素。