`
aijuans8
  • 浏览: 193469 次
社区版块
存档分类
最新评论

在Struts2中怎样用Groovy语言来写Action

 
阅读更多
我们在作Struts2的项目时,如果我们更新了Java程序(这里主要是指Action)我们需要重新启动Tomcat或者Web Context。这样的开发有时确实比较影响工作效率,每天都有很多时间好消耗到这个上面,工作之余想了一个办法,就是使用Groovy来作为 Struts2的Action。
这里我使用Struts2+Spring+Groovy1.0来做一个列子。
  • 首先需要添加Groovy的jar包,主要包括groovy, asm 和antlr 包,具体信息可以查看spring2.0-reference.pdf.
  • 假定已经配置好了struts2+srping的开发环境。
  • 使用Groovy语言来写一个Action,如下(GroovyHelloWorldAction.groovy)
    importcom.opensymphony.xwork2.ActionSupport;

    classGroovyHelloWorldActionextendsActionSupport...{

    staticfinalStringMESSAGE="ThisisGroovyHelloWorld!";

    Stringmessage;

    publicStringexecute()throwsException...{
    message
    =MESSAGE;
    returnSUCCESS;
    }

    }
  • 在spring的配置文件中指定此Groovy Action bean, 如下
    <?xmlversion="1.0"encoding="UTF-8"?>
    <beansxmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop
    ="http://www.springframework.org/schema/aop"
    xmlns:lang
    ="http://www.springframework.org/schema/lang"
    xsi:schemaLocation
    ="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.0.xsd
    http://www.springframework.org/schema/langhttp://www.springframework.org/schema/lang/spring-lang-2.0.xsd"

    default-lazy-init
    ="true">

    <lang:groovyid="groovyHelloWorldAction"
    script-source
    ="classpath:GroovyHelloWorldAction.groovy"
    scope="prototype"
    >

    </lang:groovy>
    </beans>
注意其中对schema的引用。
  • 在Strugs的配置文件中添加配置
<actionname="groovyHelloWorld"class="groovyHelloWorldAction">
<result>/helloworld.jsp</result>
</action>
  • 添加一个helloworld.jsp页面,内容如下:
<%...@taglibprefix="s"uri="/struts-tags"%>
<html>
<head>
<title>GroovyHelloWorld!</title>
</head>
<body>
<h2><s:propertyvalue="message"/></h2>
</body>
</html>
  • 测试
启动Tomcat,在访问http://localhost:8080/myapp/groovyHelloWorld.action
分享到:
评论

相关推荐

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

    在本文中,我们将深入探讨如何将Groovy语言与Struts2框架进行集成,特别是在使用Groovy类作为Action的情况。Groovy是一种动态类型的、基于Java平台的编程语言,它提供了简洁的语法和强大的元编程能力,使得开发过程...

    Struts2+Hibernate+Spring+自选语言

    在实际开发中,"Struts2+Hibernate+Spring"整合项目会包含许多组件,例如配置文件(struts.xml、hibernate.cfg.xml、spring-context.xml等)、实体类、DAO(Data Access Object)、Service、Action等。开发者需要...

    基于Java语言的Struts2框架设计源码——struts2_demos实践项目

    通过这些文件,我们可以了解到如何在Struts2项目中设计视图层,以及如何利用Struts2提供的标签库来简化JSP页面的编写。 此外,项目中还包含了Idea项目文件和Gradle构建文件,这表明项目支持现代化的集成开发环境...

    Struts2集成jasperreport3.7.1所需的Jar包

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

    Struts2标签集锦(附Struts2标签详解word文档)

    在实际使用中,Struts2标签的灵活性和便利性体现在数据绑定上,它可以直接与Action类的属性进行交互,无需繁琐的EL表达式。例如,`&lt;s:textfield name="username"&gt;`会自动找到对应的Action中的`username`属性,并将...

    Struts2常用标签

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

    struts2引用库

    Struts2是一个基于MVC(Model-View-Controller)设计模式的...然而,随着技术的发展,Spring Boot等现代框架的兴起,Struts2在新项目中的使用逐渐减少,但在维护旧项目或者理解MVC架构时,学习Struts2仍然非常有价值。

    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 中所需要的包

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

    struts2完整版类包

    1. **Action类**:在Struts2中,业务逻辑主要由Action类处理。Action类是应用程序的核心,负责接收用户请求,执行相应的业务逻辑,并返回一个结果。 2. **配置文件**:Struts2框架的配置分为XML配置和注解配置。`...

    struts-scripting-1.0.1

    2. **配置集成**:在Struts的配置文件(struts-config.xml)中,可以通过`&lt;action&gt;`元素的子元素`&lt;scripting:script&gt;`来指定使用哪种脚本语言及其对应的脚本文件。这样,Struts会自动加载并执行这些脚本。 3. **动态...

    Struts 2.1.8_学习源码

    Struts2_04ActionResultType : Struts2关于Action跳转类型的应用 对各种不同的跳转类型使用的实例 Struts2_05Interceptor : Struts2拦截器的使用 Struts2_06FileUpload : Struts2上传文件的使用

    struts开发需要的包

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

    spring3.1+hibernate4.1+struts2整合jar包

    3. **配置Struts2**:在`struts.xml`中,定义Action类及其结果页面,以及全局配置,如拦截器栈,这将决定请求如何被处理和转发。同时,可以利用Struts2的插件集成Spring,让Spring管理Action实例,实现依赖注入。 4...

    struts-scripting-1.0.1-src

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

    spring3.0+struts2.2+hibernate3.3集成.rar

    2. **整合Struts 2**:通过Spring的Struts2插件,实现Action的依赖注入,让Spring管理Struts 2的生命周期。 3. **集成Hibernate**:在Spring配置中定义Hibernate的SessionFactory,使用Spring的Hibernate模板或JPA...

    struts2入门配置以及登录验证

    在`WEB-INF/web.xml`文件中,需要配置Struts2的过滤器,以启动Struts2的处理流程: ```xml &lt;filter-name&gt;struts2 &lt;filter-class&gt;org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter ...

    struts开发所用七个jar包

    6. **struts-scripting-x.x.x.jar**:Struts Scripting模块为Web应用引入了脚本语言支持,如Groovy、JavaScript等,使得开发者可以通过脚本来创建Action和结果页面,增强了灵活性和动态性。 7. **struts-extras-x.x...

Global site tag (gtag.js) - Google Analytics