正在读取但未由HtmlInputText设置的映射

时间:2012-06-16 11:27:11

标签: jsf-2

我有一个动态创建的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);

其中itemValues是一张吸气为getItemValues()的地图,密钥为A1A2等。

我已使用密钥Map和值A1以编程方式向1234添加了值。每当出现JSF页面时,都会呈现该值。但是,当我更改值并提交表单时,该值不会更改。

我使用h:inputText元素进行了测试,并将其链接到同一个键,并且能够更新值,新值会反映在生成的HtmlInputText组件中。

这是如何引起的?如何解决?

1 个答案:

答案 0 :(得分:1)

您应该使用#{}语法来绑定输入值,而不是${}语法。 #{}可以执行getset,而${}只能执行get

另见: