0

リストからいくつかの値を 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)

コードはデータテーブルで正常に動作し、リストをデータテーブルに割り当てて同じ変数を作成し、表示したいフィールド名で変数を使用すると、同じことが正常に動作します。しかし、 value="#{demandBean.filterSelectionVOList.targetDays}" を表示しようとすると機能しません

手伝ってください。前もって感謝します。

4

1 に答える 1

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これがより適しているかどうかを使用して要素を表示することもできます。

于 2012-07-24T09:34:46.300 に答える