1.在Web.xml配置文件中添加
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.learn.action</param-value>
</init-param>
</filter>
这样sturts2框架会自动扫描action包中的命名为*Action或者集成ActionSupport的类,例如一个类命名为SearchAction,那么Struts2框架会自动扫描它,认为它为一个Action类,并且将所有search.action的请求都转发给该类进行处理,这时我们又遇到了一个问题,如果这个Action是多Method的Action那么我们又该怎么办呢?因为不能像在XML中那样配置Method属性,这时我们可以在请求是加上!MethodName以请求特定的Method即可,例如想要请求SearchAction的search方法,我们可以直接这样请求:search!search.action.
以上讲到的是Struts2框架如何找到没有在XML中定义的Action,并且怎么样将请求转发给适当的Action来进行处理.
我们都知道在XML中可以定义Action处理完以后的跳转,同样利用Annotation也可以做到这一点:
2.Resules的Annotation定义
我们只需要在Action Class的类的前面加上@Result即可以定义Action的跳转
例如:
@Results({
@Result(name="input" value="/input.jsp" type=NullResult.class),
@Reuslt(name="success" value="/success.jsp" type=NullResult.class),
@Result(name="error" value="/error.jsp" type=NullResult.class)
})
上面是一个典型的多Result配置,name属性指定返回的字符串,value指定要跳转的页面,type指定Result的类型,type是一个很重要的属性,他有一下几种情况:
1)NullResult : 默认的可以省略
2)ActionChainResult : 用于从一个Action跳转到另外一个Action
例如:
@Result
(name = "search",value= "search",type=ActionChainResult.class,
params={"method","search"})
这个配置是如果返回值为"search"就跳转掉SearchAction的search方法,如果不指定params就跳转到SearchAction的execute方法
3)StreamResult:用于文件下载
例如:
@Result
(name="success",value="inputStream",type=StreamResult.class,
params={"bufferSize",FileConstant.DOWNLOAD_BUFFER_SIZE})
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/MyPlace/archive/2008/10/19/3101888.aspx
分享到:
相关推荐
在Struts2中,注解的引入使得开发者可以实现零配置的编程,提高了开发效率和代码的可读性。JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,广泛用于前后端数据传输。在Struts2中,通过集成JSON...
【标题】"s2sh基于annotation实现零配置的毕业设计(网上花店系统)" 描述了一种使用注解(Annotation)技术在Spring、Struts2和Hibernate(简称S2SH)框架下构建的无XML配置的毕业设计项目。这个项目以一个网上花店...
**Struts2 Convention插件**是实现零配置的关键组件。它通过一套预设的规则来自动处理常见的配置任务,使得开发者无需在配置文件中显式指定每个Action的处理细节。具体而言: 1. **约定**:Convention插件提供了一...
在“struts零配置HelloWorld-Annotation”这个项目中,我们将重点探讨如何利用注解来实现Struts2框架的配置,这对于初学者来说是一个很好的起点。 在传统的Struts2配置中,我们需要在`struts.xml`文件中手动定义每...
【标题】中的“s2sh基于annotation实现零配置文件的教务管理系统”指的是一个使用Struts2、Spring和Hibernate(通常简称为S2SH)框架的毕业设计项目,该系统利用注解(Annotation)技术实现了无需XML配置文件的管理...
【基于Annotation的S2SH实现零配置CRM】 在IT行业中,CRM(Customer Relationship Management)系统是一种用于管理企业与客户之间关系的重要工具。S2SH,即Struts2、Spring和Hibernate的组合,是Java Web开发中常用...
在Struts2中,注解的引入使得开发者可以摆脱繁琐的`struts.xml`配置文件,实现“零配置”运行。 首先,让我们了解什么是注解(Annotation)。注解是Java提供的一种元数据机制,允许在源代码中嵌入信息,这些信息...
【标题】"基于annotation s2sh实现零配置的教务管理系统"揭示了这个项目的核心技术特点,即使用了Spring、Struts2和Hibernate这三大框架的集成(S2SH),并借助注解(Annotation)来实现系统的零配置。在传统的S2SH...
Struts2支持资源文件来实现国际化,即使在零配置下,我们仍然可以使用`@Text`注解来获取资源文件中的文本。 7. **错误和异常处理**: 可以通过`@ExceptionHandler`和`@ActionError`注解来处理Action中的异常和...
在这个"sshFrame(struts2.3.4+spring3.1+heibernate4.0+annotation零配置"项目中,我们看到作者使用的是Struts2的3.4版本,Spring的3.1版本以及Hibernate的4.0版本,这些都是成熟且广泛使用的开源库。 **Struts2** ...
在本项目中,我们采用“基于annotation的S2SH(Struts2、Spring、Hibernate)实现零配置的教务管理系统改进版”,这表明了系统设计的核心在于利用Java框架的注解能力来减少传统XML配置文件的使用,从而提高开发效率...
使用Maven3.0.5, Struts2, Spring, Hibernate3, annotation实现零配置的开发框架.里面有详细的开发指导文档, 后台用googlecode的 hibernate-generic-dao - Generic DAO 和 Search的代码,完全进行封装. 由于Generic ...
1. **简化配置**:使用注解可以极大地减少Struts2配置文件中的内容,官方甚至提出了“零配置”(Zero Configuration)的概念。 2. **简化开发**:通过注解,开发者可以直接在代码中指定Action、拦截器(Interceptor...
而"zero"可能是指与零配置相关的源代码文件或者项目目录,包含了实现零配置功能的具体代码和结构。 总的来说,这个项目展示了Java Web开发中一种现代化、简洁化的实践方式,通过注解减少了XML配置,提高了开发效率...
在Struts 2中,"零配置"通常通过注解(Annotation)实现。开发者可以在Action类的方法上使用注解来声明动作、结果页面和其他相关属性。例如,`@Action` 注解用于标记执行的动作,`@Result` 注解用于定义操作的结果...
6. **零配置**:项目的核心理念是零配置,这意味着开发者可以专注于业务逻辑的实现,而无需花费大量时间在配置文件上。这极大地提升了开发者的生产力,同时使得项目更具可读性和可扩展性。 7. **测试与调试**:SSH2...
但是,通过注解,我们可以直接在Action类或方法上标注,实现零配置。例如,我们可以使用`@Action`注解来定义Action的名称和执行的方法,以及`@Result`注解来指定方法执行后跳转的页面。 ```java import ...
实现了简单用户权限登录,项目中含有mysql数据库 加入了基本的拦截器,错误类处理等 加入了BaseDao,Spring3对Hibernate4已经没有了HibernateDaoSupport和HibernateTemplate的支持,使用了原生态的API