我有一个动态创建的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 的 map,getItemValues()
键是A1
,A2
等。
我以编程方式Map
为 keyA1
和 value添加了一个值1234
。每当出现 JSF 页面时,都会呈现该值。但是,当我更改值并提交表单时,值不会更改。
我已经测试了一个h:inputText
元素并将其链接到相同的键,它能够更新值并且新值反映在生成的HtmlInputText
组件中。
这是如何引起的,我该如何解决?