我想尝试Groovy,我想在新的javaee项目中使用它仅用于视图层(没有grails或类似)。还有很多关于groovy + javaee的讨论,但我找不到一个与我匹配的工作案例。
所以我有一个maven ear项目,模型/控制器ejb模块现在将保留在java上(我包含groovy依赖项,但似乎你必须使用java),而视图模块有完整的groovy支持。我正在使用Eclipse + m2e,到目前为止,所有内容都集成并编译得很好。在视图模块中,我甚至可以制作一个groovy bean,它似乎工作正常。问题是我找不到通过@EJB注释将EJB bean注入groovy bean的方法。由于我找不到类似设置的示例,因此可能甚至不可能。
如果有人知道如何让我的groovy bean从EJB读取数据,那么只是为了休息我的好奇心?它根本不需要通过所述注释,任何方式都可以。我可以为一个人提供网络服务,但这有点过于复杂和冗余。
答案 0 :(得分:0)
我知道这是一个稍微旧线程,但对于任何搜索,我都成功地在Java EE 6项目中使用了Groovy。控制器和EJB都使用@EJB
注入控制器。
这是我的设置:
最棘手的部分是需要将Groovy lib复制到glassfish/lib
,同时使用我的postgres jdbc驱动程序。
我在Eclipse中创建了一个新的企业应用程序项目,并创建了:
控制器:
@ManagedBean
@ViewScoped
class Controller {
@EJB ServiceLocal service
List list() {
service.list()
}
}
EJB:
@Stateless
class Service implements ServiceLocal {
@Override
public List<Model> list() {
[
[name: "A"],
[name: "B"],
[name: "C"]
]
}
观点:
<h:dataTable value="#{controller.list()}" var="e">
<h:column>
<f:facet name="header">Name</f:facet>
#{e.name}
</h:column>
</h:dataTable>
它运作正常。