广

Java编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    在Struts2中的结果集类型

    2018-11-09 09:49:26 次阅读 稿源:互联网
    零七广告

    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


    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告