原文地址:
http://www.blogjava.net/puras/archive/2007/09/03/142221.html
今天在查关于Struts2和Ajax方面的资料的时候,发现一个在Struts2中使用Groovy编写Action的插件.因为本身就对Groovy比较感兴趣,但因为最近的工作,没有多少时间来研究,看到这个插件,哈,正好可以在这段时间的应用中使用到,这样就可以在工作中应用Groovy啦.
这个插件是:s2ss(Struts 2 Scripting Support), 地址:
http://code.google.com/p/s2ss/
下载地址:
http://s2ss.googlecode.com/files/struts2-groovy-plugin-0.2.jar
将这个Jar包放到WEB-INF/lib下,之后修改struts.properties,添加一行:
struts.objectFactory=groovyObjectFactory
也可以修改struts.xml,添加下面一行:
<constant name="struts.objectFactory" value="groovyObjectFactory" />
个人习惯使用后面一种.
再将Groovy的包放到WEB-INF/lib下,我用的是groovy-all-1.0.jar.
这个插件所依赖的包有:
Struts 2.0.x (struts2-api-2.0.x.jar, struts2-core-2.0.x.jar)
Groovy 1.0 (groovy-all-1.0.jar)
XWork 2.x (xwork-2.0.x.jar)
Commons Loggings 1.0 (commons-logging-1.0.4.jar)
在struts.xml中配置Action,与正常的配置差不多,只不过class里用的是Groovy的类,而且需要加上Groovy的扩展名,如下:
<action name="groovy" class="com.puras.groovy.TestAction.groovy">
<result>/WEB-INF/pages/groovy/test_action.jsp</result>
</action>
拦截器与Action相似,
..
<interceptor name="groovyInterceptor" class="com.puras.groovy.Interceptor.groovy" />
..
<interceptor-ref name="groovyInterceptor" />
[/code[
这里就只演示Action的了.呵
下面来编写TestAction.groovy:
package com.puras.groovy;
class TestAction {
def message;
def execute() {
message = "Hello world"
return "success"
}
def getMessage() {
return message
}
}
不用进行编译,直接将.groovy文件复制到WEB-INF/classes/com/puras/groovy/下就可以了.
类之间的调用等,与使用Java相同.
最后再编写一下用于显示的test_action.jsp就OK啦.代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<s:property value="message"/>
<br />
<hr />
</body>
</html>
现在,启动你的WEB服务器,之后打开浏览器,输入地址:http://localhost:8080/your_webapp/groovy.action,就可以看到效果了.
下一步目标:
加入Spring
加入Ajax
分享到:
相关推荐
首先,我们需要理解在Struts2中,Action是业务逻辑的核心组件,负责处理用户请求并返回相应的结果。通常,Action类是Java编写的,但通过Struts2的插件机制,我们可以使用Groovy来创建Action,这为我们的开发工作带来...
在Struts2中集成JasperReport,可以方便地在Web应用中添加报告功能。 在Struts2中集成JasperReport 3.7.1,你需要一些关键的库文件,这些文件已经在你提供的压缩包中。以下是每个文件及其在集成过程中的作用: 1. ...
6. **struts-scripting**: 支持使用Groovy、JavaScript等脚本语言编写Action。这为开发者提供了更多的选择,可以根据项目需求选择最适合的语言来编写业务逻辑。 7. **struts-json**: 提供了对JSON(JavaScript ...
本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先,我们要明白Struts2标签库与Struts1.x的不同之处。在Struts1.x中,标签库按照功能划分为HTML、Tiles、Logic和Bean等几个...
9. **struts-scripting**:支持脚本语言(如Groovy、JavaScript)的标签库,使得开发者可以在JSP页面中直接编写脚本,增强页面交互和动态功能。 了解并熟练掌握这些核心包的使用,对于开发高效、可维护的Struts应用...
#### 四、OGNL 在 Struts 2 中的使用 OGNL 通常与 Struts 2 的标签库一起使用,例如 `<s:property value="xx"/>`。在使用 OGNL 时,需要注意几个符号的使用: - **#**:表示 OGNL 表达式的开始。 - **%**:用于...
8. **Struts Scripting**: `struts-scripting-1.3.5.jar` 支持在Struts应用中使用脚本语言,比如Groovy或JavaScript,来编写Action或者页面逻辑,提供了更灵活的开发方式。 综上所述,这些jar包构成了一个完整的...
Struts Scripting扩展了这一概念,使得开发者可以直接在Action中使用脚本语言编写业务逻辑,而无需创建Java类。这简化了开发流程,特别是对于快速原型或者对脚本语言熟悉的人来说,能够更快地实现功能。 1. **脚本...
在Struts应用中,Groovy可以用来编写Action或者扩展Struts的功能。 至于"PPT",这可能是指项目的演示文稿,其中详细介绍了该示例的实现步骤、设计决策和使用的技术。这份文稿可以帮助理解整个项目的架构和工作流程...
在Struts-scripting模块中,主要的目标是让开发者能够使用诸如JavaScript、Groovy或其他支持的脚本语言来编写Action和Validator,而不是传统的Java类。这一特性使得开发过程更为灵活,因为脚本语言通常提供更简洁的...
SSH框架是Java开发中常用的三大框架,分别是Struts2、Spring和Hibernate,它们协同工作,构建出高效、灵活的企业级应用程序。在这个名为"mySSH"的Gradle项目源码中,我们可以深入理解这三个框架的集成与应用。 ...
在使用这个压缩包时,你需要将这些jar包添加到项目的类路径中,然后按照SSH的集成指南配置相应的XML配置文件,如struts.xml、spring-servlet.xml和hibernate.cfg.xml。在struts.xml中定义Action和结果,spring-...
为了有效地使用这个压缩包,开发者需要了解如何配置Struts2和Spring的配置文件(如struts.xml和applicationContext.xml),以及如何编写Action类并声明它们在Spring容器中的bean。此外,还需要理解如何通过Struts2的...
Struts2、Hibernate3和Spring2.5是Java开发中非常经典的三大开源框架,它们各自在Web层、持久层和应用层提供了强大的功能,并且通过整合可以构建出高效、灵活的企业级应用程序。以下是对这三个框架及其整合的详细...
在实际开发中,你可能需要配置Gradle构建脚本以引入这三个框架的依赖,设置Struts2的配置文件(struts.xml)以定义Action和结果,编写Spring的配置文件(如applicationContext.xml)以声明bean,以及使用Hibernate的...
在配置上,通常需要在Spring的配置文件中声明Struts2的Action类,定义数据源和SessionFactory,然后在Struts2的配置文件中指定Action的执行逻辑。 整合SSH时,首先需要在项目中导入这三个框架的jar包,然后按照特定...
相比于Struts 1.x,Struts.2具有更强大的功能和更高的灵活性,它支持多种语言(如Java、Groovy、Scala等),并且通过使用拦截器(Interceptor)机制,提供了更丰富的功能扩展性。此外,Struts.2还内置了对AJAX的支持...
6. 编写Action:定义Struts2的Action类,处理用户请求,通过Spring获取DAO,调用DAO执行数据库操作。 这个SSH框架组合使得开发者能够快速地开发出稳定、高效的企业级应用,同时也为项目扩展和维护提供了便利。在...
2. **Struts2 的 Action 和 Result**:在 Groovy 中实现 Struts2 的 Action 类,处理 HTTP 请求,执行业务逻辑,并通过 Result 定义视图跳转。 3. **Struts2 拦截器**:Groovy 可以创建自定义拦截器,增强应用的...
4. 在Action类中使用Spring托管的Service,Service中通过iBatis的SqlSession执行SQL操作。 这个压缩包提供的"lib"目录包含了所有必需的jar文件,包括Struts2、Spring和iBatis的核心库以及它们的依赖,开发者可以...