在JSF2中,如何将对象从一个requestcoped bean传递到另一个requestcoped bean? 我真的不想让他们sessioncoped。JSF2:将一个requestcoped bean中的对象传递给另一个Requestscoped bean?
也许我可以注入一个豆在另一个?
谢谢。
在JSF2中,如何将对象从一个requestcoped bean传递到另一个requestcoped bean? 我真的不想让他们sessioncoped。JSF2:将一个requestcoped bean中的对象传递给另一个Requestscoped bean?
也许我可以注入一个豆在另一个?
谢谢。
使用ManagedProperty注释:
@ManagedBean(name="beanA") @RequestScoped
public class BeanA implements Serializable {
@ManagedProperty(value="#{beanB}")
private BeanB beanB;
public void setBeanB(BeanB b) { this.beanB = b; }
public BeanB getBeanB() { return beanB; }
}
@ManagedBean(name="beanB") @RequestScoped
public class BeanB implements Serializable {}
没有测试的代码。您可以通过在faces-config.xml
中定义托管属性来获得类似的结果。
我对你的回答也很感兴趣。假如我想在beanA的'@PostConstruct init()'方法中调用beanB方法,我可以做一些像这样的'beanB#someMethod'吗?该方法可以从表单的提交操作中返回一个值吗? – ChuongPham 2011-04-13 10:53:29
@ user463053 - 它取决于值的来源 - 如果通过表达式'#{param.foo}'直接从参数映射中注入它,则可以在'@ PostConstruct'中使用它;如果该值绑定到某个控件,那么它将在更新模型值阶段之后才可用。如果您需要更多详细信息,请使用短代码片段打开一个新问题,其中显示您想要实现的目标。 – McDowell 2011-04-13 11:01:08
感谢您的反馈。我在这里创建了一个新帖子[http://stackoverflow.com/questions/5648299/jsf-2-manageproperty-inject-one-request-scoped-bean-into-another]。你能否提供一些建议,因为我现在在这个问题上停留了一天。 – ChuongPham 2011-04-13 11:20:23
您是否试图在没有会话作用域bean的情况下跨请求存储状态?如果是这样,请检查'闪光灯'范围,看看它是否有帮助。 – 2010-07-02 14:14:36