0

動的に作成された がありますHtmlInputText。これは、セッション スコープ Bean のマップから値を取得するように設定されています。そのようです。

HtmlInputText input = new HtmlInputText();
String expression = "${catalogue.itemValues.A" + item.getId() + "}";
ValueExpression valExpression = expressionFactory.createValueExpression(facesInstance.getELContext(), expression, String.class);
input.setValueExpression("value",valExpression);

whereitemValuesは getter を持つマップでgetItemValues()、キーは 、 などになりA1ますA2

MapキーA1と値を使用してプログラムで値を追加しました1234。JSF ページが表示されるたびに、値がレンダリングされます。ただし、値を変更してフォームを送信しても、値は変更されません。

要素でテストし、h:inputTextそれを同じキーにリンクしました。値を更新でき、新しい値が生成されたHtmlInputTextコンポーネントに反映されます。

これはどのように発生し、どうすれば解決できますか?

4

1 に答える 1

1

構文ではなく、構文を使用し#{}て入力値をバインドする必要があり${}ます。#{}はとを実行できますが、はgetを実行setする${}ことしかできませんget

参照:

于 2012-06-16T13:38:14.087 に答える