我有一个 mediaOutput 标记,它在其 createContent 属性中要求支持 bean 处于某种状态。在 init 方法中填充的值列表必须可用。
因此,我为整个 backing bean 添加了一个 keepAlive 标记。我现在确实看到了 backingBean 而不是一些(richfaces)代理 bean,但填充列表再次为空。
如何使这成为可能?
我检查了是否调用了 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
}