我有一个旧的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容器中。
分享到:
相关推荐
Controllers 在 Grails 中处理 HTTP 请求,调用 Service 进行业务逻辑处理,然后将结果传递给 Views 进行展示。控制器通过 Actions(动作)来定义可执行的操作。 **Views** Views 是 Grails 应用程序中的用户界面...
- 在Eclipse的classpath variable中设置`GRAILS_HOME`变量,指向Grails的安装目录,避免在创建或导入项目时手动添加库文件。 - 在`Windows -> Preferences -> Groovy`中,勾选"Disable Groovy Compiler Generating...
Grails兼容广泛的Java应用服务器,包括但不限于Apache Tomcat、Jetty、Resin等,这使得Grails应用能在不同的环境中无缝运行。 8. **创建工件** Grails提供了多种命令用于生成模型类、控制器、服务等工件,如`...
压缩包内的文件《Grails.in.Action.2009.pdf》就是这本书的电子版,你可以下载后仔细研读,跟随书中的示例代码进行实践,理论与实践相结合,将有助于你更好地理解和掌握Groovy和Grails的相关知识。
《Grails 1.1 中文文档》是一个非常宝贵的资源,尤其对于国内的开发者来说,由于Grails在中文社区中的资料相对较少,这份文档的价值不言而喻。Grails是一个基于Groovy语言的开源Web应用框架,它借鉴了Ruby on Rails...
Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式的应用程序。 在入门Grails之前,首先需要了解如何下载并安装这个框架。Grails官方提供了各个版本的下载链接,通常包括zip压缩包和可...
1. **模型(Model)**: 在Grails中,模型通常由Domain Classes表示,它们是持久化的实体,与数据库表对应。Domain Classes使用Groovy的元编程特性,如属性验证和动态方法,提供数据验证和业务逻辑。 2. **视图...
7. **Grails服务(Service)**:服务层在Grails中的作用,如何定义服务并进行事务管理。 8. **Grails过滤器(Filters)**:过滤器在应用程序中的应用,如何在特定的HTTP请求或响应之前/之后执行代码。 9. **Grails...
在Grails框架中,Groovy用于编写控制器、服务、领域类等组件。 3. **领域模型(Domain Model)** 在Grails中,领域模型是应用程序的核心,它代表了业务数据和逻辑。通过定义Groovy类并使用Grails的GORM(Grails ...
在学习过程中,还可以参考在线教程、视频课程和社区论坛,如Stack Overflow和Grails官方社区,以便获取更多实践经验和帮助。 总之,Grails作为Java平台上的快速Web开发框架,以其高效、灵活和丰富的生态系统,为...
Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,充分利用了Java EE的许多功能,同时提供了更简洁、高效的语法,使得开发过程更为快捷。Grails 的设计目标是简化开发,通过元编程和约定...
1. 安装与配置:在Grails项目中添加插件依赖,然后通过配置文件调整编辑器的参数,如默认样式、语言设置等。 2. 使用方法:在GSP页面中引入FCKEditor,用户可以在网页上直接编辑富文本,如HTML代码,支持图片上传、...
3. **配置Grails环境**:安装插件后,需要在Eclipse中配置Grails的路径,这样Eclipse才能找到Grails命令行工具。这通常在"Eclipse Preferences" -> "Grails"中设置。 4. **创建Grails项目**:现在,你可以通过...
在Grails中,我们可以使用内置的GSP(Grails Server Pages)标签库来简化Ajax调用。例如,`remoteFunction`标签可以轻松创建Ajax请求,它接受各种参数,如URL、方法类型(GET或POST)、回调函数等。这样,开发者可以...