`
爱像天空
  • 浏览: 204698 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

在Struts2中使用Groovy来编写Action

    博客分类:
  • SSH
阅读更多
相关文章:  
groovy动态方法,属性抢鲜
Why no Groovy?
Groovy和Grails介绍(1)

推荐圈子: Groovy on Grails
更多相关推荐 原文地址: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,添加下面一行:
Java代码
<constant name="struts.objectFactory" value="groovyObjectFactory" /> 

<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的扩展名,如下:
Java代码
<action name="groovy" class="com.puras.groovy.TestAction.groovy">      
    <result>/WEB-INF/pages/groovy/test_action.jsp</result>  
</action>  

<action name="groovy" class="com.puras.groovy.TestAction.groovy">   
    <result>/WEB-INF/pages/groovy/test_action.jsp</result>
</action>

拦截器与Action相似,
Java代码
..  
<interceptor name="groovyInterceptor" class="com.puras.groovy.Interceptor.groovy" />  
..  
<interceptor-ref name="groovyInterceptor" />   
[/code[  
这里就只演示Action的了.呵  
 
下面来编写TestAction.groovy:  
<PRE class=java name="code">package com.puras.groovy;   
 
class TestAction {   
 
  def message;  
  def execute() {  
      message = "Hello world" 
      return "success" 
  }  
  def getMessage() {  
      return message  
  }  
}   
</PRE>  
<BR>不用进行编译,直接将.groovy文件复制到WEB-INF/classes/com/puras/groovy/下就可以了.  
<BR>  
<BR>类之间的调用等,与使用Java相同.  
<BR>  
<BR>最后再编写一下用于显示的test_action.jsp就OK啦.代码如下:  
<BR><PRE class=java name="code"><%@ 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>   
</PRE>  
<BR>现在,启动你的WEB服务器,之后打开浏览器,输入地址:http://localhost:8080/your_webapp/groovy.action,就可以看到效果了.  
<BR>  
<BR>下一步目标:  
<BR>  
<BR>加入Spring   
<BR>加入Ajax  
分享到:
评论

相关推荐

    Groovy学习笔记 Struts2集成--Groovy类作为Action

    首先,我们需要理解在Struts2中,Action是业务逻辑的核心组件,负责处理用户请求并返回相应的结果。通常,Action类是Java编写的,但通过Struts2的插件机制,我们可以使用Groovy来创建Action,这为我们的开发工作带来...

    Struts2集成jasperreport3.7.1所需的Jar包

    在Struts2中集成JasperReport,可以方便地在Web应用中添加报告功能。 在Struts2中集成JasperReport 3.7.1,你需要一些关键的库文件,这些文件已经在你提供的压缩包中。以下是每个文件及其在集成过程中的作用: 1. ...

    struts 中所需要的包

    6. **struts-scripting**: 支持使用Groovy、JavaScript等脚本语言编写Action。这为开发者提供了更多的选择,可以根据项目需求选择最适合的语言来编写业务逻辑。 7. **struts-json**: 提供了对JSON(JavaScript ...

    Struts2常用标签

    本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先,我们要明白Struts2标签库与Struts1.x的不同之处。在Struts1.x中,标签库按照功能划分为HTML、Tiles、Logic和Bean等几个...

    struts的九个必备常用包

    9. **struts-scripting**:支持脚本语言(如Groovy、JavaScript)的标签库,使得开发者可以在JSP页面中直接编写脚本,增强页面交互和动态功能。 了解并熟练掌握这些核心包的使用,对于开发高效、可维护的Struts应用...

    Struts 2中的OGNL教程

    #### 四、OGNL 在 Struts 2 中的使用 OGNL 通常与 Struts 2 的标签库一起使用,例如 `&lt;s:property value="xx"/&gt;`。在使用 OGNL 时,需要注意几个符号的使用: - **#**:表示 OGNL 表达式的开始。 - **%**:用于...

    struts开发需要的包

    8. **Struts Scripting**: `struts-scripting-1.3.5.jar` 支持在Struts应用中使用脚本语言,比如Groovy或JavaScript,来编写Action或者页面逻辑,提供了更灵活的开发方式。 综上所述,这些jar包构成了一个完整的...

    struts-scripting-1.0.1

    Struts Scripting扩展了这一概念,使得开发者可以直接在Action中使用脚本语言编写业务逻辑,而无需创建Java类。这简化了开发流程,特别是对于快速原型或者对脚本语言熟悉的人来说,能够更快地实现功能。 1. **脚本...

    struts_demo(logon)

    在Struts应用中,Groovy可以用来编写Action或者扩展Struts的功能。 至于"PPT",这可能是指项目的演示文稿,其中详细介绍了该示例的实现步骤、设计决策和使用的技术。这份文稿可以帮助理解整个项目的架构和工作流程...

    struts-scripting-1.0.1-src

    在Struts-scripting模块中,主要的目标是让开发者能够使用诸如JavaScript、Groovy或其他支持的脚本语言来编写Action和Validator,而不是传统的Java类。这一特性使得开发过程更为灵活,因为脚本语言通常提供更简洁的...

    SSH(Struts2,Spring,Hibernate)框架gradle项目源码

    SSH框架是Java开发中常用的三大框架,分别是Struts2、Spring和Hibernate,它们协同工作,构建出高效、灵活的企业级应用程序。在这个名为"mySSH"的Gradle项目源码中,我们可以深入理解这三个框架的集成与应用。 ...

    struts2.3.14+spring3.1.1+hibernate4.1.0 jar包

    在使用这个压缩包时,你需要将这些jar包添加到项目的类路径中,然后按照SSH的集成指南配置相应的XML配置文件,如struts.xml、spring-servlet.xml和hibernate.cfg.xml。在struts.xml中定义Action和结果,spring-...

    Struts2.2+Spring3JAR包

    为了有效地使用这个压缩包,开发者需要了解如何配置Struts2和Spring的配置文件(如struts.xml和applicationContext.xml),以及如何编写Action类并声明它们在Spring容器中的bean。此外,还需要理解如何通过Struts2的...

    struts2+hibernate3+spring2.5框架jar

    Struts2、Hibernate3和Spring2.5是Java开发中非常经典的三大开源框架,它们各自在Web层、持久层和应用层提供了强大的功能,并且通过整合可以构建出高效、灵活的企业级应用程序。以下是对这三个框架及其整合的详细...

    使用Gradle 构建Struts2、Springframework和hibernate 框架的Java EE 项目模板.zip

    在实际开发中,你可能需要配置Gradle构建脚本以引入这三个框架的依赖,设置Struts2的配置文件(struts.xml)以定义Action和结果,编写Spring的配置文件(如applicationContext.xml)以声明bean,以及使用Hibernate的...

    struts2.3.2+hibernate4.3.8+spring4.1.5整合jar包

    在配置上,通常需要在Spring的配置文件中声明Struts2的Action类,定义数据源和SessionFactory,然后在Struts2的配置文件中指定Action的执行逻辑。 整合SSH时,首先需要在项目中导入这三个框架的jar包,然后按照特定...

    Struts.2权威指南--基于WebWork核心的MVC开发.0007.pdf

    相比于Struts 1.x,Struts.2具有更强大的功能和更高的灵活性,它支持多种语言(如Java、Groovy、Scala等),并且通过使用拦截器(Interceptor)机制,提供了更丰富的功能扩展性。此外,Struts.2还内置了对AJAX的支持...

    Struts2.3.4.1+Hibernate4.1.7+Spring3.1.2

    6. 编写Action:定义Struts2的Action类,处理用户请求,通过Spring获取DAO,调用DAO执行数据库操作。 这个SSH框架组合使得开发者能够快速地开发出稳定、高效的企业级应用,同时也为项目扩展和维护提供了便利。在...

    groovyexample

    2. **Struts2 的 Action 和 Result**:在 Groovy 中实现 Struts2 的 Action 类,处理 HTTP 请求,执行业务逻辑,并通过 Result 定义视图跳转。 3. **Struts2 拦截器**:Groovy 可以创建自定义拦截器,增强应用的...

    Struts2.2.3 Spring3.1 ibatis2.0 jar包

    4. 在Action类中使用Spring托管的Service,Service中通过iBatis的SqlSession执行SQL操作。 这个压缩包提供的"lib"目录包含了所有必需的jar文件,包括Struts2、Spring和iBatis的核心库以及它们的依赖,开发者可以...

Global site tag (gtag.js) - Google Analytics