在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