createContent 属性で、バッキング Bean が特定の状態にあることを要求する mediaOutput タグがあります。init メソッドに入力される値のリストが使用可能である必要があります。
したがって、バッキング Bean 全体に keepAlive タグを追加しました。確かに、(richfaces) プロキシ Bean の代わりに backingBean が表示されますが、入力されたリストは再び null です。
これを可能にする方法は?
init メソッドが呼び出され、init メソッドにリストが入力されていることを確認しました。
<a4j:keepAlive beanName="myBean" />
<a4j:mediaOutput createContent="#{myBean.writeChart}" ... />
バッキングビーン
public class MyBean implements Serializable {
public List list;
public void init(ActionEvent event) {
// call some resource to fill the list
list = service.getItems();
}
public void writeChart(final OutputStream out, final Object data) throws IOException {
// list is null
}
// getters & setters
}