在Struts2中的结果集类型

 更新时间:2013年04月11日 17:17:23   作者:  
本篇文章,小编为大家介绍关于在Struts2中的结果集类型,有需要的朋友可以参考一下

1、每个action方法都返回一个String类型的值,struts一次请求返回什么值是由这个值确定的。

2、在配置文件中,每一个action元素的配置都必须有result元素,每一个result对应一个action的返回值。

3、Result有两个属性:

name:结果的名字,和action中的返回值一样,默认值为success;

type:响应结果类型,默认值为dispatcher.

下面找到struts-default.xml文件中,如下面所示:


说明:

1、从上述可以看出总共10种类型

2、默认类型为ServletDispatcherResult即转发。

3、结果类型可以是这10种结果类型的任意一种。

Dispatcher类型(1)、 说明

Dispatcher类型是最常用的结果类型,也是struts框架默认的结果类型。

(2)、 例子

页面参照:/manager/index.jsp

Action参照:AdminAction

配置文件:struts.xml

在配置文件中,可以有两种写法:


下面的图说明了location的来历:


查看源码:


6.2.2 Redirect类型(1)、 说明

Redirect属于重定向。如果用redirect类型,则在reuqest作用域的值不能传递到前台。

redirectAction类型(1)、说明

1、把结果类型重新定向到action

2、可以接受两种参数

a)     actionName: action的名字

b)     namespace:命名空间

第一种方式:

<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>

第二种方式:

<result name="success" type="redirectAction">

     <!--

          actionName:

               请求的action的路径

          namespace:

               如果不写,默认就是请求的action的路径,如果写,路径将被重新赋值

     -->

     <param name="actionName">

          resulttype/redirectactionAction.action

     </param>

</result>

 (2)、 例子

第一种方式:

<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>

第二种方式:

<result name="success"type="redirectAction">

     <!--

          actionName:

               请求的action的路径

          namespace:

               如果不写,默认就是请求的action的路径,如果写,路径将被重新赋值

     -->

     <paramname="actionName">

          resulttype/redirectactionAction.action

     </param>

</result>


<package name=”ss” namespace=”/csdn/csdn”>

     <action=”delete”>

</package>

<package name=”test” namespace=”/csdn”>

<action=”delete”>

</package>

<package name=”sss” namespace=””>

 <action=”delete”>

</package>

Action名称的搜索顺序

1、获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action

2.首先寻找namespace为/path1/path2/path3的package,如果存在这个package,则在这个package中寻找名字为test的action,如果不存在这个package则转步骤3;

3.寻找namespace为/path1/path2的package,如果存在这个package,则在这个package中寻找名字为test的action,如果不存在这个package,则转步骤4;

4.寻找namespace为/path1的package,如果存在这个package,则在这个package中寻找名字为test的action,如果仍然不存在这个package,就去默认的namaspace的package下面去找名字为test的action(默认的命名空间为空字符串""),如果还是找不到,页面提示找不到action。

Action原型struts2

   Prototype 原型   每次请求都会创建一个新的Action对象



Servlet

   

   Singleton 原型   当第一次请求时,创建servlet对象 之后每次都使用该对象即可。

Servlet的生命周期

      创建---init---service---destory


相关文章

  • 深入理解Java设计模式之组合模式

    深入理解Java设计模式之组合模式

    这篇文章主要介绍了JAVA设计模式之组合模式的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2021-11-11
  • 详解pom.xml中maven profile的激活方式

    详解pom.xml中maven profile的激活方式

    本文主要介绍了详解pom.xml中maven profile的激活方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Springboot 异步任务和定时任务的异步处理

    Springboot 异步任务和定时任务的异步处理

    本文介绍了Springboot异步任务和定时任务的异步处理,Springboot 中,异步任务和定时任务是经常遇到的处理问题方式,为了能够用好这两项配置,不干扰正常的业务,需要对其进行异步化配置。怎么设置合理的异步处理线程就是其核心和关键,下文详情需要的朋友可以参考下
    2022-05-05
  • Spring避免循环依赖的策略详解

    Spring避免循环依赖的策略详解

    在Spring框架中,循环依赖是指两个或多个bean相互依赖对方,形成一个闭环,这在应用启动时可能导致BeanCurrentlyInCreationException异常,本文给大家介绍了Spring中如何避免循环依赖,需要的朋友可以参考下
    2024-02-02
  • 详解mybatis中的if-else的嵌套使用

    详解mybatis中的if-else的嵌套使用

    本文主要介绍了mybatis中的if-else的嵌套使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • SpringBoot 多任务并行+线程池处理的实现

    SpringBoot 多任务并行+线程池处理的实现

    这篇文章主要介绍了SpringBoot 多任务并行+线程池处理的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • idea maven 项目src下的配置文件没有同步至target的解决操作

    idea maven 项目src下的配置文件没有同步至target的解决操作

    这篇文章主要介绍了idea maven 项目src下的配置文件没有同步至target的解决操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • java 获取mac地址的两种方法(推荐)

    java 获取mac地址的两种方法(推荐)

    下面小编就为大家带来一篇java 获取mac地址的两种方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • SpringBoot如何配置获取request中body的json格式参数

    SpringBoot如何配置获取request中body的json格式参数

    这篇文章主要介绍了SpringBoot如何配置获取request中body的json格式参数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Java中try catch处理异常示例

    Java中try catch处理异常示例

    这篇文章主要给大家介绍了关于Java中try catch 的基本用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12

最新评论