私は現在、JSFアプリケーション(現在JBoss AS6 / Mojarra 2.1.6 / RichFaces 4.1.0で実行中)を、含まれているJSF実装(変更されたMojarra 2.1.7 afaik)を使用してJBoss 7.1.1に移行する過程にあります。
さて、コードのある時点で、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 を文字列に変換できません」という例外が発生します。
何か案は?