1. 使用java annotation 的机制来替代部分 struts.xml中的配置
优点: 可以更好的将业务处理流程体现出来 ,方便修改
不足: 业务处理流程与代码写在一起增加耦合,降低效率
Web.xml:
作用:声明com.syy.action包下的类将使用annotation机制
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.syy.action</param-value>
</init-param>
Action类中的:
作用:业务处理流程
@ParentPackage(value="default(包名)")
// 包名:一定要使用在struts.xml中定义过的包
@Results({
@Result(name="方法返回值(String类型)", value="页面的位置")
@Result(name="方法返回值(String类型)", value="页面的位置")
.....
})
例子
Webx.ml:配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<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.syy.action</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:com/syy/applicationContext*.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
</web-app>
Action:类
package com.syy.action;
import java.util.List;
……
@ParentPackage(value="struts-default")
@Results({
@Result(name="list", value="/WEB-INF/user/user_list.jsp"),
@Result(name="edit", value="/WEB-INF/user/user_edit.jsp")
})
public class UserAction implements Preparable{
…………
…………
}
分享到:
相关推荐
接下来,我们将探讨如何在Jetty中运行使用Struts2 Annotation的项目: ### 1. 配置和依赖 确保你的项目已经包含了以下依赖: - Jetty服务器库(例如`jetty-server`, `jetty-webapp`, `jetty-servlet`) - Struts2...
在Struts2中,注解被用来标注控制器类、方法以及它们的行为,简化了原本需要在`struts.xml`中定义的动作配置。 例如,`@Action`注解用于标记一个类作为Struts2的Action,这个类将处理来自客户端的请求。你可以指定...
在Struts2中,Annotation注解的引入为开发者提供了更加灵活和便捷的配置方式,使得无需在XML配置文件中进行繁琐的设置,可以直接在类或方法上通过注解来进行配置。本文将深入探讨Struts2中的Annotation配置,以及...
在Struts2中,使用注解(Annotation)可以简化配置,提高开发效率。本篇文章将深入探讨如何在Struts2中通过注解实现返回JSON数据的功能。 首先,让我们理解JSON(JavaScript Object Notation)是一种轻量级的数据...
总的来说,这个小例子提供了一个很好的起点,帮助初学者了解如何在Struts2中使用Annotation进行配置。通过这个例子,你可以学习到如何定义Action、结果类型以及如何组织项目的目录结构。随着对Struts2框架的深入理解...
### Struts2 使用注解实现文件下载功能详解 #### 一、引言 在Web开发过程中,文件上传与下载是常见的需求之一。Struts2框架提供了丰富的特性来处理这...希望本文能够帮助开发者更好地理解和应用Struts2中的相关技术。
在Struts2中实现文件下载通常涉及到以下几个步骤:定义Action类、配置下载行为以及客户端处理下载请求。 ##### 1. 定义Action类 ```java package com.action; import java.io.InputStream; import java.io....
在Struts2中,Action类可以通过`@Action`注解来改变默认的URL映射。例如: ```java package com.example.actions; import com.opensymphony.xwork2.ActionSupport; import org.apache.struts2.convention....
10. **注解支持(Annotations)**:从Struts2.1版本开始,框架引入了注解支持,允许开发者在Action类和方法上使用注解进行配置,这部分代码位于`org.apache.struts2.convention.annotation`包中。 在研究源码时,...
通过这个"struts annotation Hello World"的学习,你可以掌握如何在Struts 2中使用注解来简化开发流程,同时也能对MVC架构有一个基本的理解。进一步研究Struts 2的其他注解和特性,将有助于构建更高效、更易于维护的...
标题“struts2annotation json”暗示我们将探讨如何在Struts2中使用注解来处理JSON相关的功能。首先,让我们深入理解Struts2的注解系统。 1. **Struts2注解**: - `@Action`: 这个注解用于标记一个方法为处理HTTP...
在Struts2中,开发者可以使用注解来声明动作(Action)、结果(Result)和拦截器(Interceptor)等。 2. **Struts2中的主要注解**: - `@Action`: 这个注解用于标记一个Java类作为Struts2的动作类,它定义了请求...
1.概述strust2中的拦截器 28 2.自定义拦截器 28 方式一,实现Interceptor接口。 28 方式二、继承AbstractInterceptor抽象类 29 方式三、继承MethodFilterInteceptor类 30 3.使用来MethodFilterInterceptor灵活拦截 ...
Struts2、Hibernate3和Spring2.5是Java Web开发中的三大框架,它们各自负责不同的职责,但可以协同工作以构建高效的企业级应用。这里主要讨论的是如何将这三者结合,并利用注解(Annotation)进行配置,以简化开发...
本教程将通过一个"Struts2注解Demo"来深入探讨Struts2中的注解用法,帮助开发者更高效地配置和管理Action类。 首先,Struts2的注解允许我们避免传统的XML配置,从而实现更加简洁、直观的编程方式。在`Struts2Demo`...
本练习主要关注如何在Struts2中实现自定义的数据类型转换,以满足特定业务需求。 首先,我们需要了解Struts2的数据转换机制。当用户提交表单数据时,Struts2会通过ActionContext获取到这些数据,并尝试将其转换为...
在Struts2中,注解提供了一种声明式的方式来配置Action类和结果页面,而无需编写XML配置文件。这使得代码更加简洁,易于理解和维护。例如,你可以使用`@Action`注解标记一个方法作为处理用户请求的Action,使用`@...
4. **SSH2 Annotation的整合**:在SSH2-Annotation项目中,Spring、Hibernate和Struts2通过注解进行了深度融合。Spring通过扫描注解找到并初始化Bean,Hibernate通过注解解析实体类与数据库表的映射,Struts2则通过...
- Struts2.0允许在Action类和方法上使用注解来定义控制器行为,例如`@Action`定义Action,`@Results`定义结果映射,`@Param`处理请求参数等。 8. **整合流程**: - 配置Struts2的struts.xml,使用注解扫描Action...