`
wangcheng
  • 浏览: 1463505 次
  • 性别: Icon_minigender_1
  • 来自: 青岛人在北京
社区版块
存档分类
最新评论

在Struts的Action中调用Grails的Service

阅读更多

我有一个旧的struts系统,移植到了Grails上,现在想从struts的Action中调用Grails的Service.

 

先在旧系统中新建一个Interface

public interface IUserService {
    public List doSomething(Integer userId);
}

 

然后用grails create-service user 来创建一个UserService.groovy,并实现IUserService接口

//groovy code
import com.xxx.service.IUserService

class UserService implements IUserService {
    boolean transactional = true
    static scope = "singleton"
    
    public List doSomething(Integer userId) {
        ...
        return aList
    }
}

 

然后在Struts Action或action的父类里添加下面方法

    //javaeye好像不支持尖括号,这里改成方括号
    protected [T] T getBean(String name) {
        Assert.notNull(name);
        WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(servlet.getServletContext());
        return (T) ctx.getBean(name);
    }

 

 然后在Action里这样使用

IUserService userService = getBean("userService");
List aList = userService.doSomething(123);

 

其实,这就是在action中调用了Spring容器中的一个Bean, Grails将service放在Spring容器中。

 

分享到:
评论

相关推荐

    Grails中文参考手册

    Controllers 在 Grails 中处理 HTTP 请求,调用 Service 进行业务逻辑处理,然后将结果传递给 Views 进行展示。控制器通过 Actions(动作)来定义可执行的操作。 **Views** Views 是 Grails 应用程序中的用户界面...

    Eclipse下搭建Grails项目

    - 在Eclipse的classpath variable中设置`GRAILS_HOME`变量,指向Grails的安装目录,避免在创建或导入项目时手动添加库文件。 - 在`Windows -> Preferences -> Groovy`中,勾选"Disable Groovy Compiler Generating...

    grails中文参考手册

    Grails兼容广泛的Java应用服务器,包括但不限于Apache Tomcat、Jetty、Resin等,这使得Grails应用能在不同的环境中无缝运行。 8. **创建工件** Grails提供了多种命令用于生成模型类、控制器、服务等工件,如`...

    grails in action 2009

    压缩包内的文件《Grails.in.Action.2009.pdf》就是这本书的电子版,你可以下载后仔细研读,跟随书中的示例代码进行实践,理论与实践相结合,将有助于你更好地理解和掌握Groovy和Grails的相关知识。

    Grails1.1中文文档

    《Grails 1.1 中文文档》是一个非常宝贵的资源,尤其对于国内的开发者来说,由于Grails在中文社区中的资料相对较少,这份文档的价值不言而喻。Grails是一个基于Groovy语言的开源Web应用框架,它借鉴了Ruby on Rails...

    grails中文入门简介

    Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式的应用程序。 在入门Grails之前,首先需要了解如何下载并安装这个框架。Grails官方提供了各个版本的下载链接,通常包括zip压缩包和可...

    Grails Grails Grails

    1. **模型(Model)**: 在Grails中,模型通常由Domain Classes表示,它们是持久化的实体,与数据库表对应。Domain Classes使用Groovy的元编程特性,如属性验证和动态方法,提供数据验证和业务逻辑。 2. **视图...

    Grails入门指南中文第二版.pdf

    7. **Grails服务(Service)**:服务层在Grails中的作用,如何定义服务并进行事务管理。 8. **Grails过滤器(Filters)**:过滤器在应用程序中的应用,如何在特定的HTTP请求或响应之前/之后执行代码。 9. **Grails...

    grails中文API

    在Grails框架中,Groovy用于编写控制器、服务、领域类等组件。 3. **领域模型(Domain Model)** 在Grails中,领域模型是应用程序的核心,它代表了业务数据和逻辑。通过定义Groovy类并使用Grails的GORM(Grails ...

    Grails入门精通及中文API

    在学习过程中,还可以参考在线教程、视频课程和社区论坛,如Stack Overflow和Grails官方社区,以便获取更多实践经验和帮助。 总之,Grails作为Java平台上的快速Web开发框架,以其高效、灵活和丰富的生态系统,为...

    grails 中文手册

    Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,充分利用了Java EE的许多功能,同时提供了更简洁、高效的语法,使得开发过程更为快捷。Grails 的设计目标是简化开发,通过元编程和约定...

    grails 中文文档+grails-fckeditor-0.9.5.zip插件

    1. 安装与配置:在Grails项目中添加插件依赖,然后通过配置文件调整编辑器的参数,如默认样式、语言设置等。 2. 使用方法:在GSP页面中引入FCKEditor,用户可以在网页上直接编辑富文本,如HTML代码,支持图片上传、...

    eclipse开发grails插件

    3. **配置Grails环境**:安装插件后,需要在Eclipse中配置Grails的路径,这样Eclipse才能找到Grails命令行工具。这通常在"Eclipse Preferences" -> "Grails"中设置。 4. **创建Grails项目**:现在,你可以通过...

    grails ajax

    在Grails中,我们可以使用内置的GSP(Grails Server Pages)标签库来简化Ajax调用。例如,`remoteFunction`标签可以轻松创建Ajax请求,它接受各种参数,如URL、方法类型(GET或POST)、回调函数等。这样,开发者可以...

Global site tag (gtag.js) - Google Analytics