对于在EJB3.1中使用JSF时的各种选项和最佳实践,我有几个问题。考虑到现有的令人望而生畏的选择和组合方式,我所拥有的心智模式远非明确,所以有些问题可能没有意义。通过EL代码,通过对bean类中使用的实际注释不可知的EL代码,JSF/Facelets引用了后备bean(我使用术语“支持bean”来表示bean的属性是从Facelets页面写入或读取的) (javax.faces.bean。*或javax.enterprise.context。*)。JSF/Facelets支持bean和EJB3
它是正确的说只是通过改变bean类进口没有任何改动的Facelets XHTML代码,可以JSF和CDI范围注释之间进行切换?
难道JSF/Facelets的应仅适用于使用CDI所有范围和生命周期(加上注射)注解XHTML标记代码完成中使用的既定模式?
在的JBoss AS设置,其中在JSF支持豆的生命周期管理(使用JSF或CDI注解)发生?在Web容器中还是在EJB3容器中?
在鉴于SessionScoped豆可以通过CDI提供一个典型的web应用,是否有任何需要使用比那些类型的@Entity,例如其他EJB3豆对于每个“流”中当信息要在数据库中保存时的最后一个典型步骤?
对不起,被可怕的“Stack Overflow需要来自其他域的外部JavaScript”问题困扰,无法立即接受您的答案。 –
你的回答非常明确。我认识到有点毛骨悚然的是EJB的生命周期和支持bean的生命周期之间的关系。在我看来,原则上说,EJB bean是一个完全不同的野兽,并且没有与JSF页面及其支持bean的任何直接连接。然而,在各自豆类的生命周期中似乎存在某种脆弱的依赖性和一些有效和无效的组合。您分享的文章有一些亮点,但我想这是无法替代实际操作体验的。 –
应将EJB用作业务服务。他们不应该关心任何JSF构件,只处理模型对象('@ Entity'实例)。 JSF支持bean(一个控制器)应该有一个模型对象('@ Entity')作为视图使用的属性,还有一个EJB作为服务(由'@ EJB'注入)。 JSF支持bean应该有执行EJB方法的动作方法。这些操作方法然后绑定到视图中的命令链接/按钮/ ajaxlisteners。 – BalusC