0

我想尝试 Groovy,我想现在在一个新的 javaee 项目(没有 grails 或类似项目)中仅将它用于视图层。还有很多关于 groovy + javaee 的讨论,但我找不到与我的匹配的工作案例。

所以我有一个 maven ear 项目,模型/控制器 ejb 模块现在将保留在 java 上(我包含了 groovy 依赖项,但似乎你必须为此使用 java),而视图模块具有完整的 groovy 支持。我正在使用 Eclipse + m2e,到目前为止,一切都可以很好地集成和编译。在视图模块中,我什至可以制作一个 groovy bean,它似乎工作正常。问题是我找不到通过 @EJB 注释将 EJB bean 注入 groovy bean 的方法。由于我找不到类似设置的示例,因此这甚至是不可能的。

所以只是为了满足我的好奇心,如果有人知道我如何让我的 groovy bean 从 EJB 读取数据?它根本不需要通过上述注释,任何方式都可以。我可以为一个人创建一个网络服务,但这有点过于复杂和多余。

4

1 回答 1

0

我知道这是一个稍微旧的线程,但对于任何搜索的人,我都设法在 Java EE 6 项目中成功使用 Groovy。控制器和 EJB 都使用@EJB.

这是我的设置:

  • Eclipse 朱诺 4.2.2
  • Ubuntu 12.04
  • Groovy 2.1.3
  • JSF 2.1
  • 玻璃鱼 3.1.2

最棘手的部分是需要将 Groovy 库复制到 中glassfish/lib,也需要使用我的 postgres jdbc 驱动程序。

我在 Eclipse 中创建了一个新的企业应用程序项目,并创建了:

  • 连接器模块:接口和模型,一切都是 java,但我认为 groovy 是可行的
  • 网络模块:groovy 控制器
  • ejb 模块:groovy ejbs

控制器:

@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>

它工作正常。

于 2013-04-19T13:12:54.377 回答