可以將JSF託管Bean注入EJB嗎?我已經將JSF Managed Beans作爲@ManagedProperty注入到另一個JSF Managed Bean中。但是當我對EJB做同樣的事情時,我得到一個空點異常。將JSF託管Bean注入EJB
3
A
回答
9
不,這是不可能的。 @ManagedProperty
僅在@ManagedBean
類(JSF託管的bean)內部工作。您只能使用@EJB
或@Inject
注入另一個EJB或CDI管理的bean(@Named
類)。
但是,它使得設計在技術上使諸如JSF或CDI託管bean之類的前端類在像EJB這樣的業務服務類中注入是沒有意義的。應該這樣設計一個EJB,它可以在不改變的情況下將它們重用到一個完全不同的前端,比如JAX-RS webservice,甚至是普通的vanilla servlet。一個EJB應該絕對沒有任何javax.faces.*
導入/依賴(就像它不應該有任何javax.ws.rs.*
和javax.servlet.*
那樣)。
如果您打算將數據從JSF託管bean傳遞給EJB,那麼只需將其作爲方法參數傳遞即可。這樣的數據通常具有JPA @Entity
或至少返回實體的ID /關鍵字的味道。
相關問題
- 1. JSF託管bean EJB注入
- 2. 託管bean EJB注入
- 3. 將springbean注入jsf託管bean?
- 4. jsf託管bean中的EJB注入錯誤
- 5. 注入ejb到託管bean導致BeanInstantiationException
- 6. EJB注入vs僅JSF託管的豆
- 7. Web容器/ EJB容器:JSF託管Bean?
- 8. JSF託管bean
- 9. 注入Spring管理的SessionFactory的bean在JSF託管bean
- 10. 性能問題JSF - 託管Bean內部管理Bean注入
- 11. 將JSF託管bean轉換爲CDI Bean
- 12. JSF的託管bean
- 13. JSF託管bean&Taglib
- 14. 注入JBOSS EJB到JSF 2.0託管bean在Tomcat Web應用程序運行
- 15. 注入託管Bean到Webservice
- 16. 非託管bean中的EJB
- 17. 如何將託管bean注入FacesContext?
- 18. 將託管bean轉換爲EJB
- 19. bean和jsf驗證註釋inisde託管bean vs實體bean
- 20. EJB 3.0託管bean注入和db連接關閉
- 21. JSF託管Bean在Servlet中
- 22. JSF - 託管bean的變量?
- 23. JSF託管bean問題
- 24. JSF中的託管bean
- 25. 屬性以JSF託管bean
- 26. JSF託管的上傳bean?
- 27. EJB3注入到JSF託管的bean失敗
- 28. 無法刷新JPA 2實體注入到JSF 2託管Bean
- 29. JSF應用程序範圍的託管bean注入
- 30. 將JSF託管bean註釋與Spring Boot集成
你爲什麼要這麼做?什麼是你錯誤地認爲這是正確的解決方案的問題?反過來詢問並闡述具體的功能需求。 – BalusC
我已經將業務邏輯錯誤地包含到JSF Managed Bean中。正如您所建議的那樣,我將重新考慮因素,以便EJB所需的JSF Managed Bean方法中的業務邏輯轉移到新的EJB。謝謝。但我怎麼能把這個作爲答案呢? –