在UIInput组件中使用带参数的方法时如何调用setter方法?

时间:2012-05-03 19:45:51

标签: java jsf-2 el mojarra

在我使用带参数的方法获取JSF页面上组件的值之前,例如

<h:dataTable value="#{myBean.getMyList(argument)}">

但是现在我需要相同的原理,但是在inputText元素的value属性上使用它,所以它或多或少会像这样:

<h:inputText value="#{myBean.getMyValue(argment)}">

问题是当从f:ajax元素执行元素时,第二个方法不会调用setter方法。

将值传递给backingBean上的setter和getter方法的另一种方法是什么?。

非常感谢。

1 个答案:

答案 0 :(得分:4)

确实无法在不代表getter的EL表达式上设置值。您需要将myValue变为Map<String, Object>并使用以下表示法。

<h:inputText value="#{myBean.myValue[argument]}">

然后,这将调用put()上的Map方法。请注意,此处不需要myValue的设置器。