我目前正在将一个 JSF 应用程序(当前使用 JBoss AS6 / Mojarra 2.1.6 / RichFaces 4.1.0 运行)迁移到 JBoss 7.1.1,其中包含 JSF 实现(修改后的 Mojarra 2.1.7 afaik)。
现在,在我的代码中的某个时刻,我正在使用 a4j:jsFunction:
<a4j:jsFunction id="copyItems" name="copyItems" status="loader" render="popUpWindow" rendered="#{!cc.attrs.showForecasts}">
<a4j:param name="selection" assignTo="#{itemListController.selectedItems}" />
</a4j:jsFunction>
在 itemListController 我们有这样的设置:
public class ItemListController
{
private String[] selectedItems;
public void setSelectedItems(String[] selectedItems)
{
this.selectedItems = selectedItems;
}
//Getter for selectedItems and lots of other stuff follows here...
}
在我的代码中,我有一个带有这个 onclick 处理程序的 a4j commandLink:
onclick="copyItems(['1']);"
在 JBoss6 中,这导致了对 setSelectedItems() 的调用,其中 selectedItems 是一个包含字符串“1”的字符串数组。
然而,在 JBoss7 中,我收到一个异常,基本上说“字符串 1 不能转换为字符串”。
有任何想法吗?