Struts2 配置讲解

一.Struts2的配置文件
1.struts.xml
<package name="default" namespace="/" extends="struts-default">
<content name="" value="">
<action name="xxx" class="cn.qiiin.xxx.xxxAction">
<result name="success">success.jsp</result>
<result name="input">login.jsp</result>
</action>
</package>

<package> 类似Java里的包
name 包名
namespace ="/" 从根目录寻找命名空间
extends 扩展(继承)
extends="struts-default" 默认继承该包,除非特别特殊情况,所有包都应直接或间接继承该包,该包是 struts 的基础
content 定义常量
name 去包里寻找名,value也是相对应的值
2.拆分配置文件
<include>
3.struts-default.xml
默认配置文件
4.struts-plugin.xml
插件配置文件

二.Action的配置
0528_初识Struts2.note 里的LoginAction
Action的作用
1.封装工作单元
2.数据转移的场所
3.返回结果字符串
<action>
method的属性
为了多个功能使用一个Action
例:
<action name="login" class="cn.qiiin.action.UserAction" method="login">
<result name="success">success.jsp</result>
<result name="input">login.jsp</result>
<result name="error">error.jsp</result>
</action>
这里统一使用了UserAction而进入了不同的方法.通过login.action进入
动态调用
通过调用user!register.action也能直接进入方法
最终优化===>通配符
<action name="*User" class="cn.qiiin.action.UserAction" method="{1}">
<result name="success">/jsp/{1}_success.jsp</result>
<result name="input">/jsp/{1}.jsp</result>
<result name="error">error.jsp</result>
</action>
通过login.action进入login方法,这里注意命名规范

配置默认的Action

当请求一个不存在的Action时候,将会出现404错误,为了规避这样的错误,设置一个默认的Action
<default-action-ref name="defaultAction"/>
<action name="defaultAction">
<result>error.jsp</result>
</action>

三.Result的配置

<result name="error" type="xxx">error.jsp</result>

a.常用结果类型
1.dispatcher
Action默认的结果类型,采用转发的形式请求指定的视图资源,请求中的数据信息不会丢失
2.redirect
采用重定向的方式请求指定的视图资源,通过HttpServletResponese队形的sendRedirect()方法重新生成一个请求,原请求中的数据会丢失
3.redirectAction
采用重定向的方式请求一个新的Action,原请求中的数据信息会丢失
b.动态结果
<result name="xxx">${nextDispose}</result>
${nextDispose}类似EL表达式,会调用getNextDispose()方法
c.全局结果
包中所有的Action都可以共享这个结果
<package name="default" namespace="/" extends="struts-default">
<global-results>
<result name="error">error.jsp</result>
<result name="login" type="redirect">login.jsp</result>
</global-results>
</package>


猜你喜欢

转载自blog.csdn.net/fs1290/article/details/80498425