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到怎么实现、如何写,适合初步接触struts2从无到有的人。
ssh中,Struts2的基础知识,是ssh的基础,教科书,请放心使用。
NULL 博文链接:https://yangeoo.iteye.com/blog/2020571
Struts2的一些基础知识介绍,strus2的原理,各种action的创建。
— Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — WebWork的基本结构 — Struts 2的起源 ...— Struts 1和Struts 2的对比
详细介绍了struts2处理多个请求和域传参
关于struts2的介绍,详细介绍struts2,有简单到深入,一层层深入的解析,是struts2入门的好书。
struts的基础开发,可以帮助初学者学习struts2的相关知识。
Struts2基础知识---基于Struts2的action讲解课件,详细讲解了action---xml的配置
struts_基础知识和入门.pdf
Struts2基础知识讲解PPT课件---Struts2_Action,详细介绍action的工作原理
Struts2的拦截器——Struts2拦截器的基础知识
OGNL表达式 interceptor拦截器 valuestack的存入 /取出
这个是本人自学struts2框架时的总结笔记,里面关于struts2的基本知识很是详尽,如果想要进阶的就不要看了,这只是struts2基础的笔记,个人学习用的,绝不掺假!
6.7 OGNL表达式语言的基础知识 130 6.7.1 什么是OGNL 130 6.7.2 Struts 2中常用的表达式语言特性 131 6.7.3 表达式语言的高级特性 135 6.8 小结 137 第7章 UI组件标签 139 7.1 为什么需要UI组件标签 139 7.2 标签、...
十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...
综合实训 基于Struts2的Java专题学习网
详细讲解了S2SH框架技术的基本知识和使用方法,从Eclipse开发平台、JSP、Servlet等基础知识讲起,由浅入深,重点介绍了当前流行的三个轻量级开源框架:Struts2、Spring和Hibemate.