0

我们在将所选值保存在h:selectManyListbox.

发生的情况是只有最后选择的值被保存。
我在 componentssetValue(List)方法中放置了一个断点。
当只是选择/取消选择一切看起来都很好时,setValue调用它作为参数接收的字符串列表填充一个或多个字符串。但是,当按下我们的“保存”按钮时,该setValue方法会被再次调用一次,这次列表参数仅包含一个元素,有效地覆盖了任何先前的值!

这个额外的调用setValue()甚至在到达我们的保存按钮代码之前就发生了。

我们的系统设置是 Liferay 6.1.1 bundle with Tomcat7 和 jsf 2.1。
任何人都知道问题可能是什么?

4

1 回答 1

0

您是否尝试在您的 backbean 中声明一个类似 String[] selectedValues 的列表?例如:

<h:selectManyListbox value="#{backBean.selectedValues}">
    <f:selectItem itemValue="" itemLabel="" />
    .....

</h:selectManyListbox> 

ZTB。

于 2013-09-02T07:58:58.513 回答