Struts2框架学习Action命名空间创建方式
Struts2框架中Action类时一个单独的javabean对象,相比struts1来说,不需要去继承任何类型或实现任何借口,表单数据包含在Action中,而Struts1则必须继承org.apache.struts.action.Action或者其子类才行,相比之下,耦合度减小了许多。
对于struts2来说,在struts.xml配置是其核心内容,今天主要介绍其命名空间和其三种创建方式。
命名空间namespace
<package name="default" namespace="/" extends="struts-default">
namespace在缺省的情况下相当于"";
三种创建方式:
方式一:创建一个POJO类
POJO(PlainOrdinary Java Object)简单的Java对象
struts.xml配置
<!-- 使用pojo创建action --><action name="demo1" class="cn.itcast.action.Demo1Action"><result>/success.jsp</result></action>
//创建一个Action,使用pojo类
public class Demo1Action {public String execute() {return "success";}
}
- 优点:无耦合
- 缺点:所有功能都需要自己实现
方式二:创建一个类,实现Action接口
Action接口 com.opensymphony.xwork2.Action
struts.xml
<!-- 使用Action接口来实现action创建 --><action name="demo2" class="cn.itcast.action.Demo2Action"><result>/success.jsp</result></action>
Action:
//继承Action
public class Demo2Action implements Action {public String execute() throws Exception {
// SUCCESS代表数据处理成功return SUCCESS;}}
优点:在Action接口中定义了请求处理方法execute,还定义了五个结果视图
- public static final String SUCCESS ="success"; //数据处理成功(成功页面)
- public static final String NONE ="none"; //页面不跳转 return null;效果一样
- public static final String ERROR ="error"; //数据处理发送错误 (错误页面)
- public static final String INPUT ="input"; //用户输入数据有误,通常用于表单数据校验(输入页面)
- public static final String LOGIN ="login"; //主要权限认证 (登陆页面)
缺点:具体的功能还需要自己手动实现.
方式三:创建一个类,继承ActionSupport
ActionSupport com.opensymphony.xwork2.ActionSupport
struts.xml
<!-- 使用继承Actionsupport来实现action创建 --><action name="demo3" class="cn.itcast.action.Demo3Action"method="add"><result>/success.jsp</result></action>
Action
//继承于ActionSupport
public class Demo3Action extends ActionSupport {public String add() throws Exception {System.out.println("add method");return SUCCESS;}}
- 优点:不仅具有了Action接口中提供的功能(ActionSupport类实现了Action接口),还具有国际化参数校验错误信息设置功能
- 缺点:耦合度高
介于优缺点的比较,在开发的过程中我们还是使用第三种比较多,纵然耦合度高,但是由于不用着急动手去实现,我们完全可以通过其他的方法去将耦合度降低。
三种方式都可以达到相同的目的,如果成功跳转则可将其设置的jsp页面显示出来。再此省略不计
转载于:https://www.cnblogs.com/huohuoL/p/10545503.html
Struts2框架学习Action命名空间创建方式相关推荐
- Struts2框架学习(二) Action
Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...
- java之struts2的action的创建方式
首先action是用来处理请求的, 这里struts2中的action的3中创建方式. 1.无侵入性的创建方式. 无侵入性:使用第三方的框架,不直接继承或实现第三方提供的类或者接口就说是无侵入性的. ...
- Struts2框架学习总结(从入门到精通)
文章目录 一.Struts2入门 struts2概述 struts2入门案例 struts2底层执行过程 struts2相关配置 struts2的核心配置文件struts.xml struts2常量配 ...
- Java之struts2框架学习
About Struts2 Struts也是一款MVC框架 , Struts2是Struts的下一代产品,是在Struts1和WebWork的技术基础上进行了合并的全新的Struts2框架 其全新的S ...
- 框架学习系列 之Struts2框架学习总结
1 介绍 学习和使用Struts2框架有了一段时间,这里将学习心得总结在博客的文章里面.期间也参考学习了其他优秀的文章,如有错误之处欢迎指正,转载请申明原文地址,希望大家支持,谢谢. 2 What:什 ...
- Struts2框架学习---ONE
通过阅读本你将掌握: struts2框架的配置 入门程序的实现: 配置文件的加载顺序: ...
- Struts2框架--学习笔记(下):OGNL表达式、值栈操作、拦截器、struts2标签、文件上传
一.OGNL概述:OGNL是一种表达式 (1)在struts2中操作值栈数据. (2)一般把ognl在struts2中操作,和struts2标签一起使用操作值栈. (3)ognl不是strut2的一部 ...
- Struts2框架--学习笔记(上):搭建struts2工程、struts2基本概念、struts2对页面数据的操作
概述: Struts2框架应用于javaee三层框架中的web层.是在Struts1和webwork基础上发张的一个全新的框架. 一.搭建一个最基本的struts2工程步骤: 1.导入基本的jar包依 ...
- Struts2框架学习之一:Hello World程序
前言 Struts2框架Apache基金组织下的一个开源框架,基于MVC模式设计的Web应用开发框架.Struts 2是一个用于开发Java EE网络应用程序的开源Web应用框架,它利用并扩展了Jav ...
最新文章
- 张书源:大数据能力助力我实现化工智能制造 | 提升之路系列(十)
- 无数优秀投资人的选择——GMQ Group
- ubuntu远程登陆windows
- Flash Builder 找不到所需的 Adobe Flash Player
- RabbitMQ初探--用C#简单实现通信服务
- 国家开放大学2021春1108钢结构(本)题目
- IIS 7.0探索用于 Windows Vista 的 Web 服务器和更多内容
- Python:绘图保存时出现空白图像的解决和如何保存图片
- MySQL高级-SQL优化
- grpc框架_grpc的入门使用
- python 实现 pdf 书签读取、批量写入
- 三角形外接圆圆心计算公式
- 2022华为杯研赛E题草原放牧策略研究代码+思路
- 2021东阳高考成绩查询,2021金华市地区高考成绩排名查询,金华市高考各高中成绩喜报榜单...
- 【SpringBoot】文件上传(基础上传、上传文件限制、上传多个文件)
- python 有放回随机抽取_Python 随机抽样
- 云轴ZStack Cloud云建设方案腾讯政务微信应用迁移
- [算法总结] LCA倍增法 dfs
- ubuntu16.04 opencv3.3 python2.7 caffe GPU环境搭建
- Linux中运行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。