struts2框架-----Action
控制器Action
Action对象是struts2框架的核心,每个URL映射到特定的Action,其提供处理来自用户的请求所需要的处理逻辑。Action有两个重要的功能,即将数据从请求传递到视图和协助框架确定哪个结果应该是呈现在响应请求中的视图中。
一、Action接口
Action是com.opensymphony.xwork2包中的一个接口,提供了5个静态的成员变量,是struts2框架中为处理结果定义的静态变量。
Action接口的静态变量:

ActionSupport类实现了Action接口,在Struts2框架中创建的控制器类一般继承该类。struts2框架中的action必须有一个无无参数并且返回值是String或Result对象的方法。
二、属性注入值
在struts2框架中,用户提交的表单信息会自动注入到与Action对象相对应的属性中。注入属性值到Action对象中,在Action类中必须提供属性的setter方法,这是由于struts2框架是按照JavaBean规范中提供的setter方法,自动为属性注入值。
下边通过一个案例阐释:通过struts框架,将用户提交的信息注入到Action对象对应的属性中
step1:创建继承ActionSupport的类,并定义一个属性,通过struts2框架对该属性注入值(源码\struts2\src\action\paramAction.java)

步骤一中,定义私有成员变量param,其名称与用户提交请求页面中参数的名称一致,以便于使用getParam()方法获取用户输入的数据。重写execute()方法,在该方法中获取Map类型变量session的值,通过session保存用户提交的数据。通过if语句判断,当param值为空字符串或null时,返回failed字符串,否则返回success字符串。
step2:创建输入参数信息的页面(源码\struts\webRoot\index.jsp)

步骤二中,显示需要用户输入的信息。当点击参数时,将用户请求交由Action对象处理。由于struts框架指定了后缀为.action,所以在这里表单中action属性值加上.action,否则报错。
step3:在配置文件struts.xml中配置Action对象

步骤三中,通过<action>标签的name属性指定被请求的URL映射地址,当Action处理完成返回success字符串时,根据映射关系交由index.jsp页面显示数据信息。
struts2框架-----Action的更多相关文章
- JavaWeb_(Struts2框架)Action中struts-default下result的各种转发类型
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...
- Struts2框架action层学习心得体会
在struts2框架中,当action处理完之后,就应该向用户返回结果信息,该任务被分为两部分:结果类型和结果本身. 结果类型提供了返回给用户信息类型的实现细节.结果类型通常在Struts2中就已预定 ...
- Struts2框架action路径问题心得----》页面url请求怎么找action
Struts2 页面url请求怎么找action Struts2 页面url请求如何找action 1.我们使用最原始的方法去查找action,不同注解. struts.xml文件先配置 <!- ...
- 模拟Struts2框架Action的实现
1.具体项目结构如下:
- JavaWeb_(Struts2框架)Struts创建Action的三种方式
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...
- Spring框架+Struts2框架第一次整合
1:Spring框架和Struts2框架如何整合??? Spring 负责对象创建 Struts2 用Action处理请求 2:Spring与Struts2框架整合的关键点: 让struts2框架ac ...
- JavaWeb_(Struts2框架)拦截器interceptor
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...
- JavaWeb_(Struts2框架)Ognl小案例查询帖子
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...
- JavaWeb_(Struts2框架)参数传递之接收参数与传递参数
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...
随机推荐
- Javascript高级编程学习笔记(83)—— 富文本选区(3)
富文本选区 在富文本编辑器中使用 iframe 的 getSelection() 方法可以获取选中的文本 该方法是 window 对象和 document 对象的属性,调用后会返回一个当前选选择文本的 ...
- Java学习笔记四:三目运算符与字符串连接符等
一 .三目运算符与自增自减 GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/OperPrac02.java 条件运算符由 ...
- Python学习笔记【第二篇】:运算符、比较、关系运算符
运算符 python支持以下几种运算符 算术运算符 运算符 描述 实例 + 加 两个对象相加 a + b 输出结果 30 - 减 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 ...
- JSP中的作用域
application用于全局变量,可以获取全局的数据.作用范围比session大. JSP常用内置对象总结:out对象:用于客户端输出数据.request对象:用于处理客户端发送的请求的数据信息.r ...
- Spring Boot 的 10 个核心模块
学习 Spring Boot 必须得了解它的核心模块,和 Spring 框架一样,Spring Boot 也是一个庞大的项目,也是由许多核心子模块组成的. 你所需具备的基础 告诉你,Spring Bo ...
- Go Slice 使用中的小陷阱
go中的切片有两个特性: 底层的数据结构是数组 type slice struct { array unsafe.Pointer len int cap int } 包括从切片和数组派生出来的切片都是 ...
- HP C7000刀片服务器开关机过程
HP C7000开关机过程 一.HP C7000关机过程 1.关闭台刀片服务器. 2.确认刀片已关机后,登录https://xxx.xxx.xxx.x/,Administrator/2PF2QT, ...
- c++中的左值与右值
左值(lvalue)和右值(rvalue)是 c/c++ 中一个比较晦涩基础的概念,不少写了很久c/c++的人甚至没有听过这个名字,但这个概念到了 c++11 后却变得十分重要,它们是理解 move/ ...
- 使用ANNdotNET进行情感分析
2018年10月的MSDN杂志上发表了由James McCaffrey撰写的文章“使用CNTK的情感分析” .在这篇博文中,我将向您介绍这篇非常好且写得很好的MSDN文章示例.我不打算重复MSDN文章 ...
- .NET Core + Abp踩坑和填坑记录(1)
1. Net Core 的DI和Abp的DI并存 Startup中 ConfigureServices返回值改为IServiceProvider 在ConfigureServices最后调用retur ...