struts2 Action是一个pojo类
1,可以实现Action接口
excute()方法可以不抛出异常
2,可以继承ActionSupport类
二,struts2的5个配置文件
Web.xml
Struts.xml
//主配置文件
Struts.properties
//属性文件
Struts-default.xml
//struts2的默认配置
Struts-plugin.xml
//Struts2框架的插件配置文件
三,<action>
<result name="success" type="dispatcher">
<param name="location">/ThankYou.jsp</param>
</result>
1,
name属性配置
1.1 name属性默认不能加斜杠
(因为struts.enable.SlashesInActionNames
= false
)
解决办法:struts.enable.SlashesInActionNames=true
1.2 配置
正确格式:<action name="namespace
/test1
" class="">
错误格式:<action name="
/namespace
/
test1
" class="">
2,method属性配置
2.1 作用:可以静态的调用
访问action方法的某个方法(DMI:动态调用
)
2.2 用法:
1,action里的方法名和method里配置的一样
2,action里的方法名前加do(避免关键字
,如main
)
3,DMI动态配置
访问action时,在action名称后加上“!add
” (如:<a href="user!add
.action
">访问</a>)
4,Forword Action(跳转action,空action)
专门用来跳转用的
<action name="main">
<result type="redirect">/main.jsp</result>
<!--加上type="redirect"可以直接掉到main.jsp上,不加跳转到main.action上-->
</action>
5,默认action
<default-action-ref name="error"/>
<action name="error">
<result>/error.jsp</result>
</action>
<!--变种-->
<action name="*">
<result>/error.jsp</result>
</action>
<!--
如果路径中没有通配符,则此Action优先级最高
如果路径中有通配符,不管是什么通配符,一律按顺序匹配
-->
6,通配符配置(解决action过多)(多个action映射一个请求时,要注意优先级)
1,基本知识
*
:o-n个字符(不包括“/
”)
**
:o-n个字符(包括“/
”)
\
:转义符
<action name="*User" class="cn.cstp.org.action.UserAction" method="{1}">
<result>/{1}UserSuc.jsp</result>
</action>
<action name="*_*" class="cn.cstp.org.action.{1}Action" method="{2}">
<result>/{0}Suc.jsp</result>
<!--{0}表示匹配完整的信息(*_*)-->
</action>
<action name="*" class="cn.cstp.org.action.ErrorAction">
<result>/error.jsp</result>
</action>
<!--
如果路径中没有通配符,则此Action优先级最高
如果路径中有通配符,不管是什么通配符,一律按顺序匹配
-->
7,Zero Configuration-注解配置
@ParentPackage
@Namespace
@Result
@Results
struts2.0配置方法
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>actionPackages</param-name> <!--固定参数名-->
<param-value>com.struts2.action</param-value><!--所有action所在的包-->
</init-param>
</filter>
四,<pakeage>namespace(命名空间
)属性配置
1,运行原理
先到指定的命名空间里去找,找不到就到默认的命名空间里去找
(所有你随便个什么路径,只要action名称正确就可以访问到)
2,<pageage name="" extends="" namespace=""
> -------建议都给配上
namespace
不配置是就为默认包
3,如何配置:
正确格式:<pageage name="" extends="" namespace="/namespace
" >
<pageage name="" extends="" namespace="/
" >跟空间
错误格式:<pageage name="" extends="" namespace="namespace
" >
五,<result>
1,type属性
chain |
用来处理Action链 |
跳转到action上 |
dispatcher
(默认) |
用来转向页面,通常处理JSP |
|
freemarker |
处理FreeMarker模板 |
|
httpheader |
控制特殊HTTP行为的结果类型 |
|
redirect |
重定向到一个URL |
|
redirectAction |
重定向到一个Action |
跳转到action上 |
stream |
向浏览器发送InputSream对象,通常用来处理文件下载,
还可用于返回AJAX数据
|
|
velocity |
处理Velocity模板 |
|
xslt |
处理XML/XLST模板 |
|
plainText |
显示原始文件内容,例如文件源代码 |
返回源代码 |
2,跳转到action上
<action name="" class="">
<!--服务器跳转(请求转发)-->
<result name="success" type="chain">
<param name="actionName">user</param>
<param name="namespace">/xxx</param>
</result>
</action>
<action name="" class="">
<!--客服端跳转跳转(请求跳转)-->
<result name="success" type="redirectAction">
<param name="actionName">user</param>
<param name="namespace">/xxx</param>
</result>
</action>
3,全局结果集
<global-results>
<result name="success">/main.jsp</result>
<result name="login">/login.jsp</result>
<result name="input">/login.jsp</result>
</global-results>
4,动态结果
<action name="" class="">
<result name="success" type="redirectAction">${nextActionName}</result>
</action>
六,异常处理
<!--全局异常-->
<global-results>
<result name="global-exception">/global-exception.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="global-exception" exception="java.lang.Exception"></exception-mapping>
</global-exception-mappings>
<!--局部异常-->
<result name="exception" type="dispatcher">/exception.jsp</result>
<exception-mapping result="exception" exception="java.sql.SQLException"></exception-mapping>
分享到:
相关推荐
Struts2 基础知识 Struts2 是一个基于 MVC 模式的 Java Web 应用程序框架,主要用于构建 Web 应用程序。Struts2 框架提供了一些基本的组件和工具,帮助开发者快速构建 Web 应用程序。 Struts2 框架引入到 Web ...
ssh中,Struts2的基础知识,是ssh的基础,教科书,请放心使用。
这篇博文将深入探讨Struts2的基础知识,包括其工作原理、核心组件以及Interceptor(拦截器)的模拟实现。 1. **Struts2 框架概述** Struts2是Apache软件基金会的开源项目,它是Struts1的升级版,解决了Struts1的...
Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在Web开发领域中被广泛使用。...熟练掌握Struts2的基本知识和使用技巧,对于提升Web开发效率和项目质量具有重要意义。
### Struts2基础知识点详解 #### 一、Struts2框架概述 Struts2是Apache组织维护的一个开源项目,它是Struts1的升级版本,在设计理念和技术实现上都有了很大的改进。Struts2采用MVC(Model-View-Controller)模式...
### Struts2基础知识点详解 #### 一、Struts2框架概述 Struts2是由Apache软件基金会维护的一个开源Web应用程序框架,它继承和发展了Struts1和WebWork框架的优点,采用了MVC(Model-View-Controller)设计模式,极...
2. **学习Struts2基础知识**:熟悉Struts2的基本概念、架构设计和核心组件,如Action、配置文件等。 3. **重构Action类**:将Struts1中的ActionForm类重构为Struts2的Action接口实现。需要注意的是,Struts2的Action...
### Struts2基础知识点详解 #### 一、Struts2的工作流程结构 Struts2作为JavaEE架构中的一款流行的MVC框架,其工作流程结构设计精妙,旨在简化Web应用程序的开发过程。以下是对Struts2工作流程的详细解析: 1. **...
### Struts2的基础知识及例子大全 #### 一、Struts2概述 **Struts2** 是一个基于 **MVC** (Model-View-Controller)设计模式的Java Web应用程序框架,它是由Apache软件基金会维护的一个开源项目。Struts2不仅继承...
Struts2是一个基于MVC(Model-View-Controller)设计模式的开源JavaEE框架,它主要用来...以上就是关于“struts2基础jar包”所包含的主要知识点。掌握这些内容,将有助于理解并有效地利用Struts2框架开发Java Web应用。
本教程将介绍Struts2的基础知识,适合初学者入门。Struts2是在Webwork的基础上构建的,与它的前辈Struts1.x相比,虽然在大版本号上相同,但在配置和使用上有显著区别。 在开始之前,确保你有以下环境: 1. 开发工具...
这篇“Struts2基础应用二”着重介绍Struts2的核心概念、配置以及在实际项目中的应用。 首先,Struts2是一个基于MVC设计模式的开源框架,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。在Struts2中,...
— Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — WebWork的基本结构 — Struts 2的起源 ...— Struts 1和Struts 2的对比
### Struts2基础知识详解 #### 一、Struts2简介与环境搭建 **Struts2**是Apache组织下的一个开源框架,它继承了Struts1的设计理念,但在很多方面进行了改进,提供了更丰富的功能和更好的灵活性。Struts2基于MVC...
在"Struts2权威指南前三章"中,我们可以预见到内容将涵盖Struts2的基础知识、安装配置以及核心概念。 首先,第一章可能会介绍Struts2框架的历史背景和它在Java EE应用中的地位。Struts2是Struts1的升级版,解决了...
### Struts2基础知识与实践 #### 一、为什么学习Struts2 - **提升编码效率**:Struts2提供了一套标准的MVC框架结构,能够帮助开发者快速地实现业务逻辑与视图分离,减少重复代码,从而提高开发效率。 - **框架特性...
### Struts2基础知识详解 #### 一、Struts2简介 **Struts2** 是一个基于 **MVC**(Model-View-Controller)设计模式的Java Web应用框架,旨在简化Web应用程序的开发流程。它继承了 **Struts1** 的设计理念,但在...